Language/JAVA

[JAVA] super super()

gangintheremark 2023. 7. 24. 11:51
728x90

자바에서 상속하여 클래스를 사용할 경우 super super() 는 자식클래스가 부모 클래스에 접근하기 위해 사용된다.

super

부모클래스의 멤버와 자식클래스의 멤버의 이름이 동일한 경우, 구별할 수 있으며 부모클래스의 멤버에 접근할 때 사용한다.

super()

자식클래스에서 명시적으로 부모 생성자를 호출하는 경우 사용한다. 부모클래스에서 선언된 변수인 경우에는 자식클래스에서 초기화하지 않고 super()를 초기화를 할 수 있다.

  • super()은 생성자 코드의 첫 줄에 사용되어야 한다
public class Pet {
    String name;
    int age;

    public Pet() {
    }
    public Pet(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

// Dog is a Pet ==> 상속관계 
public class Dog extends Pet {
    String color;

    public Dog() {}
    public Dog(String name, int age, String color) {
        super(name, age);
        this.color = color;
    }
}
728x90