this 포인터는 간단하지만 살펴보자. 사실 이전 포스팅에 나왔었다. 예를 들어 한 클래스 내의 'height'라는 변수의 값을 바꾸고 싶다고 하자. 그걸 바꾸기 위한 메서드를 만들려고 한다.
void Student::SetHeight(float height)
{
height = height; // 어떤 height가 클래스 변수고 어떤 height가 매개 변수인가?
}
만약 매개 변수 이름과 클래스 내 변수 이름이 같다면, 위와 같은 문제가 생긴다. 물론 변수 이름을 다르게 할 수도 있지만 다른 방법이 있다. 클래스 내 변수를 가리키는 변수 앞에는 this 포인터를 사용하면 된다.
void Student::SetHeight(float height)
{
this->height = height; // 클래스 내 변수에 매개 변수 대입.
}