다중 상속이 불가능한 언어에서 고려

 

● 만들고자 할 클래스가 어떤 유형에 대해서도 'A는 B다' (is-a) 관계를 갖지 않는다면 일반 클래스

● 해당 클래스의 더 구체적인 버전을 만들고 어떤 메서드를 오버라이드 하거나 새로운 메서드를 추가해야 한다면 하위클래스를 붙이기

● 일련의 하위클래스에서 사용할 공통 특성(Template)을 지정해야만 하거나 전체 하위클래스에서 사용할 공통 구현코드가 존재한다면 그 상위클래스를 추상 클래스로 결정, 그리고 해당 상위클래스의 객체화가 금기시 된다면 추상 클래스화

● 상속 관계와 무관하게 적용할 클래스들의 역할을 정의하고 싶다면 인터페이스를 끼얹는다

Posted by Kaidaki
,