글
this 키워드는, 현재 클래스 내의 멤버들에 접근할 때 사용합니다. this(), this(매개변수...) 형태로 호출하면, 자신의 오버로딩된 생성자를 호출하는 것이고, this.멤버 변수 혹은 this.멤버 메소드 형태로, 현재 클래스 안의 멤버 변수나 멤버 메소드에 접근할 때 사용합니다. 이에 반해, super 키워드는, 상속하고 있는 부모 클래스에 접근할 때 사용됩니다. super(), super(매개변수...) 형태로 호출하면, 부모 클래스의 생성자를 호출하게 되고, super.멤버 변수 혹은 super.멤버 메소드 형태로 사용하면 부모 클래스의 멤버 변수나 메소드에 접근하게 됩니다.
상속 관계에서, 자식 클래스의 생성자에서는, 기본적으로 부모 클래스의 생성자를 호출하게 되어 있습니다. 만약, 자식 클래스의 생성자에서 this(~~~) 형태의 코드가 삽입되어 있다면, super 키워드보다 우선시됩니다. 즉, this 를 통한 현재 클래스의 생성자 호출이 super 를 통한 부모 클래스의 생성자 호출보다 우선시된다는 것입니다.
'4.1) OCJP > 관련 이론 및 문법' 카테고리의 다른 글
관련 이론 및 문법 - try ~ catch ~ finally (0) | 2015.06.19 |
---|---|
관련 이론 및 문법 - 레이블 (Label) (0) | 2015.06.19 |
관련 이론 및 문법 - String 클래스 VS StringBuilder 클래스 (0) | 2015.06.19 |
관련 이론 및 문법 - String 클래스 (0) | 2015.06.19 |
관련 이론 및 문법 - 접근 제어 지시자 (0) | 2015.06.17 |
관련 이론 및 문법 - 메소드 오버로딩 (method overloading) (0) | 2015.06.17 |
관련 이론 및 문법 - 변수의 영역 (scope) (0) | 2015.06.16 |
관련 이론 및 문법 - 기본 생성자, 상속시 부모 생성자 호출, super (0) | 2015.06.16 |
관련 이론 및 문법 - 메소드 오버라이딩 (method overriding) (0) | 2015.06.16 |
관련 이론 및 문법 - 가변 인자 (varargs = variable arguments) (0) | 2015.06.16 |
RECENT COMMENT