클래스가 많아지고 상속 관계가 생기다 보니 코드를 파악하기 어려울 수 있어서 상속 관계를 다음과 같이 그림으로 표현했습니다.
그림 9-3 클래스 상속 관계
먼저 모든 유닛에 공통 요소인 이름과 체력을 담은 일반 유닛 클래스 Unit이 있습니다. Unit 클래스를 상속받아 공격력까지 표시하는 공격 유닛 클래스 AttackUnit도 정의했습니다. 그리고 비행 기능이 있는 Flyable 클래스를 정의했습니다. 이 클래스는 비행 속도 정보와 비행 동작 메서드만 가지고 있습니다. 마지막으로 공중 공격 유닛을 위해 AttackUnit 클래스와 Flyable 클래스를 다중 상속하는 FlyableAttackUnit 클래스를 만들었습니다. 전투기나 요격기를 만들기에 적합합니다.
TIP | 그림을 통해 클래스 간 관계를 파악해서 지금까지 설명한 유닛을 어떤 클래스 또는 어떤 클래스들을 조합해 만드는 게 좋을지 복습한 후에 다음 절로 넘어가면 좋습니다.