[BOOK : 오브젝트 13장] 서브클래싱과 서브타이핑
·
카테고리 없음
0. 서론 상속의 첫 번째 용도는 타입 계층을 구현하는 것이다. 부모 클래스는 자식 클래스의 일반화(generalization)이고 자식클래스는 부모 클래스의 특수화(specialization)다. 상속의 두번째 용도는 코드 재사용이다. 재사용을 위해 상속을 사용할 경우 부모 클래스와 자식 클래스가 강하게 결합되기 때문에 변경하기 어려운 코드를 얻게 될 확률이 높다. 동일한 메시지에 대해 서로 다르게 행동할 수 있는 다형적인 객체를 구현하기 위해서는 객체의 행동을 기반으로 타입 계층을 구성해야 한다. 상속의 가치는 이러한 타입 계층을 구현할 수 있는 쉽고 편안한 방법을 제공한다는데 있다. 객체 지향 프로그래밍이란 클래스를 사용하는 프로그래밍 방식을 의미하고 객체기반 프로그래밍이란 클래스 없이 오직 객체만..