[Java] this 참조변수

출처 - 자바의 정석 (남궁 성 지음)
class Car{
	private String color;
	private String gearType;
	private int door;

	Car(String color, String gearType, int door)
	{
		this.color = color;
		this.gearType = gearType;
		this.door = door;
	}
}

위의 코드에서처럼 생성자의 매개변수(지역변수)의 변수명과 인스턴스 변수명이 동일하면

this.으로 인스턴스 변수와 매개변수를 구분지어 준다.

this.color = color; 대신 color = color;으로 하면 둘 다 매개변수(지역변수)로 간주된다.



this는 참조변수로 인스턴스 자신을 가리킨다. 따라서, this를 사용할 수 있는 멤버는 인스턴스 멤버 뿐이다.

static 메서드는 인스턴스를 생성하지 않은 상태에서 호출될 수 있기 때문에 호출된 시점에 인스턴스가 존재하지 않을수도 있기 때문에

static 메서드에서는 this를 사용할 수 없다.



this
인스턴스 자신을 가리키는 참조변수, 인스턴스의 주소가 저장되어 있다.
모든 인스턴스 메서드에 지역변수로 숨겨진 채로 존재한다.

this(), this(매개변수) - 생성자, 같은 클래스의 다른 생성자를 호출할 때 사용한다.

댓글

이 블로그의 인기 게시물

[NSIS] 32비트와 64비트 모듈 등록하는 법. (regsvr32)

[Visual Studio] Windows 7 에서 Visual Studio 6.0 디버그 시 프로세스 좀비되는 증상 해결 방법