1. this란
- 자기 자신을 의미하는 키워드
- 클래스 안에서 this를 사용하여 자기자신을 표현한다.
2. this를 사용하여 지역변수와 멤버변수구분하기
class User{
String name;
public void setName(){
String name;
name = "자바학생";
}
}
- 멤버변수와 지역변수가 동일한 이름으로 공존할 경우, 유효성의 범위가 작은 변수가 우선적으로 인식된다.
class User{
String name;
public void setName(){
String name;
name = "자바학생";
this.name = "자바";
}
}
3. this를 사용하여 파라미터와 멤버변수 구분하기
- 파라미터도 해당 메서드 안에서만 유효한 지역변수의 일종이다.
- 파라미터를 사용하여 멤버변수의 값을 간접적으로 설정하고자 할 경우, 변수의 이름을 서로 다르게 사용하는 것 보다는 이름은 동일하게 지정하고 this 키워드를 사용하여 멤버변수와 파라미터를 구별하는 것이 java언어의 일반적인 처리 방식이다.
class User{
String name;
public void setName(String name){
this.name = name;
}
-----------------------------------------------------
User u = new User();
u.setName("자바학생");
System.out.println(u.name);
- 모든 멤버변수 앞에는 this 키워드를 사용하여 멤버변수임을 직관적으로 표시하는 것이 소스코드의 가독성을 위하여 바람직하다.
4. 현재 클래스의 메서드를 의미하는 용도로서의 this
class User{
public String getName(){
String name = "자바학생";
return name;
}
public void setName(){
String myname = this.getName();
System.out.println(mtname);
}
}