본문 바로가기

[JAVA] this() vs this 차이점

인포꿀팁 발행일 : 2022-03-15

생성자 this()

  • 생성자에서 다른 생성자 호출할 때 사용
  • 다른 생성자 호출시 첫줄에서만 사용가능
  • 생성자 호출시에는 생성자 명이 아닌 this로 호출
  • 목적은 코드의 중복을 방지하기 위함
class car2{

String color;
Sting gearType;
int door;



    car2(){

    	//디폴트 값을 지정해줌
  	  this(“white”,”auto”,4);

    }

	car2(String color){
    	this(color,”auto”,4);

    }

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

}

 

참조변수 this

  • 인스턴스 자신을 가리키는 참조변수
  • 인스턴스 메서드(생성자 포함)에서 사용가능
  • 지역변수와 인스턴스 변수를 구별할 때 사용
//지역변수와 인스턴스 변수가 명이 같은 경우 구분을 위해 this 붙인다.

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

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

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

=> 이 둘은 완전히 다른 것이다. 참조변수와 생성자의 차이!

Static 메서드에서는 사용불가!

댓글