개발_웹/Java
Java | this, super / this(), super()
zuyo
2019. 5. 9. 03:37
반응형
1. this
현재 객체의 주소(레퍼런스). 현재 객체 내의 멤버에 접근한다.
2. super
현재 객체의 슈퍼 클래스 영역의 주소. 슈퍼클래스의 멤버에 접근한다.
오버라이딩 된 메소드는 동적 바인딩되어 서브클래스의 메소드를 호출하므로, 슈퍼클래스의 메소드를 호출하려면 super 키워드를 사용해야 한다.
오버라이딩 시, 기존 부모클래스의 메소드 기능은 유지하되 기능을 추가하고 싶을 때 사용
func() {
super.func(); // 부모 메소드의 기능 유지
// 자식만의 코드
}
3. this()
- 생성자에서 동일한 클래스 내의 다른 생성자를 호출 시 사용.
- 생성자 코드에서만 사용 가능하며, 생성자 코드의 첫 번째 문장에 쓰여야 함
public class Memo {
String title;
Date date;
public Memo(String title, Date date) {
this.title = title;
this.date = date;
}
public Memo() {
this("noname", null);
}
}
반응형