더북(TheBook)

인스턴스 변수와 지역 변수의 이름이 같을 때 salary처럼 한정하지 않은 이름은 지역 변수를 나타내고, this.salary는 인스턴스 변수를 나타낸다.

Note ≣

일부 프로그래밍 언어에서는 인스턴스 변수를 _name이나 _salary 식으로도 쓴다. 자바에서도 이렇게 쓸 수 있지만, 보통은 쓰지 않는다.


Note ≣

원한다면 this를 메서드의 매개변수로도 선언할 수 있다(생성자의 매개변수로는 선언할 수 없다).


public void setSalary(Employee this, double salary) {

    this.salary = salary;

}


그러나 이 문법은 아주 드물게 사용한다. 이 문법은 메서드의 수신자에 애너테이션을 붙이는 용도로만 사용한다(11장 애너테이션 참고).

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.