현재 객체 자신을 가리키는 참조 변수
즉, “지금 이 매서드/생성자를 호출한 객체”를 가리킴
class A{
int x;
void setX(int x){
this.x = x; //맴버 변수 x에 파라미터 x를 대입
}
}
여기서 this.x → 객체의 멤버변수
x → 메서드 파라미터
멤버 변수와 파라미터 이름이 같을 때 this로 구분
생성자 체이닝
class A {
int x,y;
A(int x, int y){
this.x = x;
this.y = y;
}
A(int x){
this(x, 0); // 같은 클래스 다른 생성자 호출
}
A(){
this(0); // 또 다른 생성자 호출
}
}
현재 객체 참조를 메서드 안에서 전달하거나, 반환할 때 사용 가능
예시
class A {
int x;
A setX(int x){
this.x = x;
return this; //메서드 체이닝 가능
}
}
이렇게 하면
A a= new A();
a.setX(5).setX(10);
그래서 최종 값은 10