Java(폐지)/Java 공부

super 키워드

kyeongjun-dev 2020. 7. 20. 16:21

super 키워드

this는 객체 멤버 메서드 내부에서 객체 자신을 지칭하는 키워드이다.
super는 바로 위 상위 클래스의 인스턴스를 지칭하는 키워드이다.

예제


package super01;

class 동물{
    void method() {
        System.out.println("동물");
    }
}

class 조류 extends 동물 {
    void method() {
        super.method();
        System.out.println("조류");
    }
}

class 펭귄 extends 조류 {
    void method() {
        super.method();
        System.out.println("펭귄");
    }
}

public class Driver {
    public static void main(String[] args) {
        펭귄 뽀로로 = new 펭귄();
        뽀로로.method();
    }
}
  • 결과
동물
조류
펭귄
  • super 키워드로 상위 클래스의 인스턴스 메서드를 호출하고 있다.
  • super.super 형태로 상위의 상위 클래스의 인스턴스에는 접근이 불가능하다.

예제2

package super01;

class 동물{
    String ani = "animal";
    void method() {
        System.out.println("동물");
    }
}

class 조류 extends 동물 {
    String bir = "bird";
    void method() {
        super.method();
        System.out.println(super.ani);
        System.out.println("조류");
    }
}

class 펭귄 extends 조류 {
    void method() {
        super.method();
        System.out.println(super.bir);
        System.out.println("펭귄");
    }
}

public class Driver {
    public static void main(String[] args) {
        펭귄 뽀로로 = new 펭귄();
        뽀로로.method();
    }
}
  • 결과
동물
animal
조류
bird
펭귄