*이 포스트는 남궁성님의 '자바의 정석'책을 참고하여 작성했습니다.
* 인스턴스의 생성
클래스명 변수명; // 클래스의 객체를 참조하기 위한 참조변수를 선언.
변수면 = new 클래스명(); // 클래스의 객체를 생성 후, 객체의 주소를 참조변수의 저장.
* 인스턴스 생성 예제
Tv t; // Tv클래스 타입의 참조변수 t를 선언.
t = new Tv(); // Tv인스턴스를 생성한 후, 생성된 Tv인스턴스의 주소를 t의 저장.
* this
: 인스턴스 자신을 가리키는 참조변수, 인스턴스의 주소가 저장되어 있다. 인스턴스의 주소가 저장되어 있다.
모든 인스턴스 메서드에 지역변수로 숨겨진 채로 존재한다.
* this(), this(매개변수)
: 생성자, 같은 클래스의 다른 생성자를 호출할 때 사용한다.
* this, this() 예제
class Car {
String color;
String gearType;
int door;
Car() {
this("white", "auto", 4); // Car(String color, String gearType, int door)를 호출
}
Car(String color) {
this(color, "auto", 4);
}
Car(String color, String gearType, int door) {
this.color = color;
this.gearType = gearType;
this.door = door;
}
}
class Test {
public static void main(String[] args) {
Car c1 = new Car(); // Car 인스턴스를 생성 -> Car() 생성자 호출
// -> Car(String color, String gearType, int door)를 호출
// this.color = color : this는 인스턴스 자신을 가리키는 참조변수
// 따라서 new Car()을 통해 생성된 인스턴스의 멤버변수 color를
// this.color를 통해 접근하여 매개변수로 전달된 값을 넣는다.
...
}
}
'프로그래밍 언어 > Java' 카테고리의 다른 글
Java(오버라이딩(overriding)) (0) | 2017.08.17 |
---|---|
Java(초기화 블록) (0) | 2017.08.04 |
Java(클래스(static) 메서드와 인스턴스 메서드) (0) | 2017.08.03 |
Java(변수 정리) (0) | 2017.07.31 |
Java(객체와 인스턴스의 차이) (0) | 2017.07.31 |