자바에서 this는 인스턴스 자기 자신을 가리키는 키워드다.
예를 들어서 다음과 같은 클래스가 있다고 해보자.
class Car{
private String name;
public setCar(String a){
name = a;
}
}
위와 같이 car에 이름을 정하는 setCar라는 setter 함수를 선언하였다.
여기서 인자값을 필드 값과 동일하게 하려면 어떻게 해야할까?
this를 사용하면 메서드의 인수와 변수가 같은 이름이더라도 구분하여 사용할 수 있다.
다음과 같이 사용하며 된다.
class Car{
private String name;
public setCar(String name){
this.name = name;
}
}
위와 같이 사용하면 필드인 name을 말하는 name
, 그리고 인수인 name
을 this 키워드로 구분할 수 있게 된다.