this란 클래스 생성시 heap 영역의 저장되는 영역의 주소
메서드의 경우 this는 각 함수별로 0번째 매개변수로 들어가 있다.
그래서 메서드 안에서 this를 사용할 수 있는 것이다.public void method(MyClass this) { // 0번째 매개변수가 생략되어 있는 것 }
this 확인해보기
class 내부에서 this를 리턴하는 클래스를 만들고 그것의 결과를 확인해보자
public MyClass getThis() { // MyClass의 메서드 return this; // heap영역에 저장되는 영역의 주소를 반환 }
MyClass mycls = new MyClass(); // 객체 생성 System.out.println(mycls.getThis()); System.out.println(mycls);
위 코드의 결과는
cls.MyClass@7637f22
cls.MyClass@7637f22
주소값을 반환하였다.