[java 자바공부] Tv[] tvarr = { new Tv(), new Tv(), new Tv() };
객체란?
클래스 변수와 인스턴스 변수의 차이점
메서드 종류는?
[java 자바공부] Tv[] tvarr = { new Tv(), new Tv(), new Tv() };
Tv[] tvarr = { new Tv(), new Tv(), new Tv() };
"Tv[] tvarr = { new Tv(), new Tv(), new Tv() };" 는 자바 언어에서 Tv 객체를 선언하고 초기화하는 방법입니다. 아래는 코드와 해당하는 텍스트 그림 및 설명입니다:
Tv[] tvarr = { new Tv(), new Tv(), new Tv() };
tvarr ──────────────────────┐
│
┌───────────────────┐ │ ┌───────────────────┐
│ new Tv() │ ├──▶│ new Tv() │
└───────────────────┘ │ └───────────────────┘
│
┌───────────────────┐ │ ┌───────────────────┐
│ new Tv() │ ├──▶│ new Tv() │
└───────────────────┘ │ └───────────────────┘
│
┌───────────────────┐ │ ┌───────────────────┐
│ new Tv() │ ├──▶│ new Tv() │
└───────────────────┘ │ └───────────────────┘
│
코드에서 "Tv[]"는 Tv 객체의 배열을 선언하는 부분입니다.
"tvarr"은 배열 변수의 이름입니다.
중괄호 "{ }" 안에는 "new Tv()"로 초기화된 Tv 객체들이 들어갑니다.
"new Tv()"는 Tv 클래스의 새로운 인스턴스를 생성하는 부분입니다.
위의 코드는 Tv 객체를 3개 생성하여 배열에 저장하는 예시입니다.
이 코드를 사용하면 Tv 객체의 배열을 생성하고 초기화할 수 있습니다. 배열의 각 요소에는 새로운 Tv 객체가 할당됩니다. 이렇게 생성된 배열은 나중에 필요한 작업에 활용할 수 있습니다
new Tv[3]; 은 참조변수 3개가 생성되는것이다.
Tv[] TvArr = new Tv[3];
TvArr[0] = new Tv();
에서
TvArr[0] = new Tv();를 사용하지않으면
Tv[] TvArr = new Tv[3];의 배열을 사용하지않는것과
같다
그래서
Tv[] TvArr = new Tv[3];
TvArr[0] = new Tv();
한쌍으로 보고 사용해야된다.
[java 자바공부] 객체란 ? 필드를 묶어논 것이다
class Car {
// 필드 (상태)
String color;
String model;
int year;
// 메소드 (행동)
void drive() {
System.out.println("The car is driving.");
}
}
[java 자바공부] 클래스 영역은 선언문만 가능하다.
클래스 영역은 선언문만 가능하다.
메소드() { 메소드시작
}
메소드 끝
[java 자바공부] 클래스 변수와 인스턴스 변수의 차이점은?
클래스 변수는 static을 사용하여
다른 클래스와 공유차원으로 사용되고,
인스턴스 변수는
그 클래스의 필드로 사용된다.
class Car {
// 인스턴스 변수
String model;
// 클래스 변수
static int totalCars;
}
클래스 내부에서 공유되는 자원의 역할
java
class Car {
// 인스턴스 변수
String model;
// 클래스 변수
static int totalCars;
}
이 클래스에서 'model'은 인스턴스 변수이고, 'totalCars'는 클래스 변수입니다. 이를 사용하는 방법은 다음과 같습니다.
java
Car car1 = new Car();
car1.model = "Sedan";
Car.totalCars++;
Car car2 = new Car();
car2.model = "SUV";
Car.totalCars++;
이를 그림으로 표현하면 다음과 같습니다:
클래스
Car
/ \
model totalCars
객체 car1
car1 = new Car();
/ \
"Sedan" 1
객체 car2
car2 = new Car();
/ \
"SUV" 2
즉, 'model'은 각 'Car' 인스턴스마다 별도로 존재하는 반면, 'totalCars'는 모든 'Car' 인스턴스가 공유하는 변수입니다. 따라서 'model'의 값은 인스턴스마다 다르지만, 'totalCars'의 값은 모든 인스턴스에서 동일합니다.
결론,
클래스 필드와 공유자원을 공급한다
객체는 필드의 집합이다.
[java 자바공부] 자바를 카드로 비유하자면?
카드가 있다면,
객체적으로 분리되어 생각을 해야되는데
분리의 역활에서는
-공통적인 부분과
폭
높이
카드
-개별적인 부분으로 나뉜다.
무늬
숫자
필드
(인스턴스 변수)
는
-클래스 구조로써
개별적인 부분은
필드값으로 놓고,
공독적인 부분은
static으로 공통된 값을 공유한다.
[java 자바공부] 메서드란 어떻게 쓰이고있나?
1.인스턴스 메서드: 이들은 객체의 인스턴스에 대해 동작하며, 객체 인스턴스를 통해 호출됩니다. 인스턴스 메서드는 클래스 내에서 선언되지만 'static' 키워드 없이 선언됩니다.
2.클래스 메서드: 이들은 클래스 자체에 대해 동작하며, 클래스 이름을 통해 호출됩니다. 클래스 메서드는 'static' 키워드를 사용하여 선언됩니다.
3.생성자: 이들은 객체가 생성될 때 호출되는 특별한 메서드입니다. 생성자의 이름은 클래스의 이름과 동일하며, 반환 타입이 없습니다.
class Car {
String model;
static int totalCars;
// 생성자
Car(String model) {
this.model = model;
totalCars++;
}
// 인스턴스 메서드
void drive() {
System.out.println(this.model + " is driving.");
}
// 클래스 메서드
static int getTotalCars() {
return totalCars;
}
}
메서드는
한쌍) 초기상태를 지정하는 메소드 (생성자 = 초기값을 담당한다)
한쌍) 클래스메소드
댓글