인스턴스 자신을 가리키는 변수
생성자, 인스턴스 메서드에서 사용가능
지역변수(lv)와 인스턴스변수(iv)를 구별할 때 사용함
this는 같은 클래스 내에서 생략가능
인스턴스의 주소가 저장되어 있음
모든 인스턴스 메서드에 지역변수로 숨겨진 채 존재함
지역변수와 인스턴스변수의 이름이 같은 경우 구별하기 위해 this를 생략할 수 없음
(but, 이름이 다르면 생략가능)
Car2(String color, String gearType, int door // 지역변수) {
this.color = color;
this.gearType = gearType;
this.door = door;
}
// this.color, this.gearType, this.door는 인스턴스 변수
클래스 메서드(static 메서드)에서는 사용 불가능
(static 멤버는 객체 생성없이도 사용 가능하기 때문)
this와 this()는 비슷하게 생겼을 뿐 완전히 다르다. this는 '참조 변수'이고, this()는 '생성자'이다.