프로그래밍 언어/Java

Java(인스턴스,this,this())

benjykim 2017. 8. 4. 19:58
반응형

*이 포스트는 남궁성님의 '자바의 정석'책을 참고하여 작성했습니다.


* 인스턴스의 생성 


클래스명 변수명;                        // 클래스의 객체를 참조하기 위한 참조변수를 선언.

변수면 = 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를 통해 접근하여 매개변수로 전달된 값을 넣는다.

...

}

}



반응형