티스토리 뷰

Java

[Java] super 키워드

nc2u 2018. 10. 27. 20:11



키워드 super는 상속 관계에서 부모 클래스의 메소드나 필드를 명시적으로 참조하기 위하여 사용된다. 만약 부모 클래스의 메소드나 필드를 오버라이드한 경우에 super를 사용하면 부모 클래스의 메소드나 필드를 호출할 수 있다.

보통 메소드를 오버라이드할 때, 부모 클래스의 메소드를 완전히 대치하는 경우보다 내용을 추가하는 경우가 많다. 이런 경우에는 super 키워드를 이용하여 super 클래스의 메소드를 호출해 준 후에 자신이 필요한 부분을 추가해주는 것이 좋다.

/* Parent 클래스 */
class Parent {
    public void print() {
        System.out.println("부모 클래스의 print() 메소드");
    }
}
/* Child 클래스 */
public class Child extends Parent {
    public void print() {
        super.print();
        System.out.println("자식 클래스의 print() 메소드");
    }
    public static void main(String[] args) {
        Child obj = new Child();
        obj.print();
    }
}

[실행결과]부모 클래스의 print() 메소드
자식 클래스의 print() 메소드


super.메소드명() 형태로 부모 클래스의 메소드에 접근할 수 있음을 알 수 있는데, super() 형태로 부모 클래스의 생성자에 접근할 수도 있다. 다만 부모 클래스의 생성자에 매개 변수가 있는 경우라면 super(매개변수1, 매개변수2)와 같이 동일한 형태가 갖추어지지 않을 경우 오류가 발생한다.

'Java' 카테고리의 다른 글

[Java] 고급 배열  (0) 2018.10.27
[Java]객체 지향 프로그래밍의 특징  (0) 2018.10.27
[Java] 내장 클래스  (0) 2018.10.27
[Java] 자료형(data type)의 종류  (0) 2018.10.27
[Java] 접근 제어 지정자  (0) 2018.10.27
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크