더북(TheBook)

4.1.1 슈퍼클래스와 서브클래스


Employee 클래스의 몇 가지 기능을 그대로 유지하면서 관리자가 직원과 다른 부분을 명시하는 Manager 클래스를 정의해 보자.

public class Manager extends Employee {

    추가된 필드

    추가된 메서드 또는 슈퍼클래스의 메서드를 오버라이드하는 메서드

}


extends 키워드는 기존 클래스에서 파생된 새 클래스를 만든다는 것을 나타낸다. 이때 기존 클래스를 슈퍼클래스(superclass)(상위 클래스), 새 클래스를 서브클래스(subclass)(하위 클래스)라고 한다.1 여기서는 Employee 클래스가 슈퍼클래스고, Manager 클래스가 서브클래스다. 슈퍼클래스가 서브클래스보다 상위이지만, 더 ‘우월’하지 않다는 점에 유의한다. 오히려 그 반대다. 슈퍼클래스보다 서브클래스에 더 기능이 많기 때문이다. 슈퍼와 서브 용어는 집합 이론에서 유래했다. 즉, 관리자 집합은 직원 집합의 하위 집합(subset)이다.

1 슈퍼클래스를 부모 클래스(parent class) 또는 기반 클래스(base class), 서브클래스를 자식 클래스(child class) 또는 파생 클래스(derived class)라고도 한다.

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