[Java] 5.1.1 super 키워드를 이용한 기반 형식부분 생성

5.1.1 super 키워드를 이용한 기반 형식부분 생성

기반 형식에서 확장하여 파생 클래스를 정의하면 파생 클래스 형식 개체를 생성하면 기반 형식부분을 생성한 후에 파생 형식부분을 생성하여 하나의 개체가 만들어집니다.

이러한 이유로 기반 형식에 매개 변수가 있는 생성자만 존재할 때 파생 클래스의 생성자에서는 기반 형식부분을 생성할 때 어떠한 인자를 전달하여 생성해야 하는지 반드시 명시해야 합니다. 이 때 super 키워드를 이용합니다. 이러한 이유로 Java 언어에서는 기반 클래스를 슈퍼 클래스라고도 부릅니다. 그리고 파생 클래스를 서브 클래스라고도 부릅니다.

public class Musician {

String name;

public Musician(String name){

this.name = name;

}

}

public class Pianist extends Musician {

public Pianist(String name){

super(name);

}

}

[소스 5.2] 파생 클래스 생성자에서 super 키워드로 기반 형식부분 생성하는 예

public class Musician {
    String name;
    public Musician(String name){
        this.name = name;
    }
    public String getName(){
        return  name;
    }
    public void play(){
        System.out.println("음악가 "+name+" 연주하다.");
    }
}
public class Pianist extends Musician {
    public Pianist(String name){
        super(name);
    }
    public void tuning(){
        System.out.println("피아니스트 "+getName()+" 조율하다.");
    }
}
public class Program {
    public static void main(String[] args){
        Pianist pianist = new Pianist("홍길동");
        pianist.play();
        pianist.tuning();
    }
}

실행 결과

음악가 홍길동 연주하다.
피아니스트 홍길동 조율하다.