더북(TheBook)

4.1.4 서브클래스 생성


이번에는 Manager 클래스에 생성자를 추가해 보자. Manager 생성자는 Employee 클래스의 비공개 인스턴스 변수에 접근할 수 없으므로 이런 인스턴스 변수는 슈퍼클래스 생성자로 초기화해야 한다.

public Manager(String name, double salary) {

    super(name, salary);

    bonus = 0;

}


여기서 super 키워드는 namesalary를 인수로 전달하면서 Employee 슈퍼클래스의 생성자를 호출함을 나타낸다. 서브클래스 생성자에서 슈퍼클래스 생성자를 호출할 때는 반드시 첫 번째 문장으로 사용해야 한다.

서브클래스에서 슈퍼클래스 생성자를 명시적으로 호출하지 않을 때는 슈퍼클래스 안에 암시적으로 호출될 인수 없는 생성자가 있어야 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.