Java

[Java] 생성자 this(), 참조변수 this

dalooong 2023. 5. 31. 10:40

생성자 this()

  • 생성자에서 다른 생성자 호출할 때 사용
  • 다른 생성자 호출시 첫 줄에서만 사용가능
car() {
	color = "white";
	gearType = "auto";
	door = 4; 
}
--------------------------------------
코드의 중복을 제거한 코드 
car() {
	this("white", "auto", 4);
}

참조변수 this

  • 인스턴스 자신을 가리키는 참조변수
  • 인스턴스 메서드(생성자 포함)에서 사용 가능
  • 지역변수(lv)와 인스턴스(iv)를 구별 할 때 사용
  • 변수 이름 앞에 this.변수
💡 생성자 this()와 참조변수 this
this : 인스턴스 자신을 가리키는 참조변수, 인스턴스의 주소가 저장되어 있다. 모든 인스턴스 메서드에 지역변수로 숨겨진 채로 존재한다. 선언 안 해도 사용가능하다.
this(), this(매개변수) : 생성자, 같은 클래스의 다른 생성자를 호출 할 때 사용한다.

**this와 this()는 비슷하게 생겼을 뿐 완전히 다른 것이다.
** this는 참조변수이고, this()는 생성자이다.

 

 

this는 지역변수 lv와 인스턴스 변수 iv를 구분하려고 사용하며,

생성자와 인스턴스 메서드에서만 this 사용가능하다.

단, 클래스 메서드에서는 this 사용 불가

 

 

 

출처 : 자바의정석 - 기초편