정의
- this는 현재 인스턴스를 가리키는 키워드.
- this 를 사용하면 현재 객체 또는 클래스의 인스턴스에 접근 가능.
- 주로 멤버 변수와 메서드의 매개변수가 동일한 이름을 가질 때 사용.
예제
클래스 안에서 인스턴스 멤버를 참조할 때 this를 사용 할 수 있습니다. 아래와 같이 this를 사용하면 현재 객체의 인스턴스 변수나 메서드를 참조할 수 있습니다.
멤버 변수와 파라미터 이름이 동일할 때
public class Taco
{
private string name;
public void GetName(string name)
{
this.name = name;
}
}
다른 메서드를 호출할 때 this를 사용하여 현재 인스턴스의 다른 메서드를 호출할 수 있습니다.
class MyClass {
public void Method1() {
// 다른 메서드 호출
this.Method2();
}
public void Method2() {
// 메서드 내용
}
}
메서드가 현재 인스턴스를 반환할 때 this를 사용할 수 있습니다.
class MyClass {
private int value;
public MyClass SetValue(int value) {
this.value = value;
return this; // 현재 인스턴스 반환
}
}
결론
this는 클래스 멤버들을 가리키는 키워드로 선택적으로 사용 합니다. 대부분의 경우에는 생략해도 동일한 결과를 얻을 수 있습니다만 가독성을 높이고 혼동을 줄이기 위해 명시적으로는 사용 가능합니다.