this 의미
this는 일반적으로 인스턴스 자기 자신을 의미한다.
주로 필드(전역변수)와 메소드/매개변수 등이 같을 때 인스턴스 필드라는 것을 명확히 해주기 위해서 사용한다. 자세한 건 밑에 예제를 통해서 살펴보자.
this 예제 및 설명
class thisTest {
int num;
thisTest(int num) {
this.num = num;
}
}
예제를 보면 필드에도 num이 있고 생성자에 매개변수에도 num이 있는 것을 볼 수 있다. 이런 상황에서 필드와 매개변수 사이에 관계를 명확히 구분하기 위해서 this를 이용해서 this.num = num 이라고 작성함으로써 필드에 num에 생성자로 받은 num 값을 넣어줄 수 있게 된다. 만약에 this를 사용하지 않고 num = num 이라고 선언하면 그저 매개변수 num에 본인 자신을 넣기에 의미 없는 코드가 되어 버린다. 이런 부분을 해결하기 위해서 this를 사용하는 것이다.