this 키워드의 의미
: this는 현재 객체, 자기 자신을 나타낸다.
this의 사용 이유
public class Car{
String name;
int number;
public Car(String n){
name = n;
}
}
Car 클래스의 생성자 매개변수 이름이 n이다. n이라는 변수명은 무엇을 의미하는지 쉽게 알 수 없기 때문이다.
따라서,
n으로 쓰기 보다는 아래와 같이 name으로 사용하는 것이 좋다.
Public Car (String name){
name = name;
}
'name = name' 이라고 코드를 바꾸면, 가깝게 선언된 변수를 우선 사용하기 때문에 'name = name'은 매개변수의 name값을 매개변수 name에 대입하라는 의미가 된다.
이런 경우 매개변수를 필드값에 저장하는 것! 을 컴파일러와 JVM에게 알려주기 위해서 this 키워드를 사용해야 한다.
this 사용 예시
Public Car(String name) {
this.name = name;
}
앞의 this.name은 필드의 name을 말하고, =(등호) 뒤의 name은 매개변수를 의미한다. 즉, 매개변수의 값을 필드에 대입하라는 의미가 된다.
클래스 안에서 자기 자신이 가지고 있는 메소드를 사용할 때도 this.메소드명()으로 호출할 수 있다.