객체 자신을 참조하는 키워드로, 명확하게 자신의 field 및 구성요소를 가르키도록 활용하기위해 사용한다.
아래 생성자의 인자 n을 받아와서 name field에 초기화한다고 가정해보자.
public class Car{
String name;
public Car(String n){
name = n;
}
}
이때 인자 n을 위 field의 name으로 선언해줄 수는 있으나, 이를 가독성을 높인다면 아래와 같이 변수명을 바꿀 수 있다.
public Car(String name){
name = name;
}
컴파일러에서는 위 코드에서, name 인자를 받아올때 그 인자 명이 field 인자명과 같을 경우 정상적으로 변수 할당이 이루어지지 않는다.
※ 위에서 Car생성자를 통해, 즉 Car.name를 통해 name으로 접근할 경우 위에서 할당한 name 문자열을 확보할 수 없다(인자 name과 field name이 각각 가르키는 상태로 정상 할당 불가).
public Car(String name){
this.name = name;
}
이럴 경우 자기 자신의 field에 대해 명확한 지칭을 위해 this 키워드를 사용할 수 있다.
Class field의 name에 정상적으로 인자를 할당시킬 수 있다.