public class Person {
private String name;
public void setName(String pName){
name = pName;
}
public String getName(){
return name;
}
}
setName 메서드는 pName을 파라미터로 받는다.
그 값을 인스턴스 변수 name에 저장해준다.
그런데 만약 파라미터 이름을 pName이 아니라 name으로 짓는다면?
public class Person {
private String name;
public void setName(String name){
name = name;
}
public String getName() {
return name;
}
}
이 변수를 자바는 인스턴스 name으로 인식하지않고 파라미터 name으로 인식하게된다.
파라미터 name에 그 값을 넣어버려 의미없는 코드가 된다.
이 상황에서 인스턴스 변수를 가르키고 싶다면?
this키워드를 사용하면된다.
this는 메소드에서 현재 인스턴스를 가리키는 역할을 한다.
public class Person {
private String name;
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
this.name은 파라미터 변수가 아니라 인스턴스 변수 name을 가르킨다.
public class BankDriver {
public static void main(String[] args) {
Person p1 = new Person();
p1.setName("김신의");
}
}