this
1> this 의 정의
자기 자신 클래스(객체)를 가리킨다.
2> this 의 특징
- 객체 자신에 대한 참조값을 갖는다.(즉 자신을 가리킨다.)
- 메소드내에서만 사용된다
- 객체 자신을 메소드에 전달하거나 리턴해 주기위해 사용하기도 한다.
- this를 사용하으로서 모호하지 않고 좀더 명확한 프로그램을 작성할 수 있다.
- 객체 생성자내에서 사용시 다른 생성자를 호출한다. (this의 용법 1)
- 매개변수와 객체 자신이 가지고 있는 변수의 이름이 같은 경우 이를 구분하기 위해 자신의 변수에 this를 사용한다. (this의 용법 2)
- (주의) static 메서드(예를 들어 main())에서 쓸 수 없다.
(why? static 메서드는 객체가 new라는 키워드로 생성되기 이전에 메모리에 로딩이되므로 아직 객체가 생기지 않았는데 this를 사용하면 안됨..당근,,,)
3> this 사용형식
형식 |
|
this |
자신 객체를 가리킨다. 파라미터 값으로 자신의 객체를 넘겨줄때에도 this 사용 |
this.멤버변수 |
매개변수와 객체 자신이 가지고 있는 변수의 이름이 같은 경우 이를 구분하기 위해 자신의 변수에 this를 사용한다. ( this 의 용법 2 ) |
this( 매개변수 ) |
생성자내에서 다른 생성자를 호출한다.( this의 공법 ) |