Computer Science/Design Pattern

Inheritance, Composition

Kim Jinung 2023. 5. 15. 13:48

Inheritance, Composition

상속(Inheritacne)는 상위 타입과 하위 타입에 강한 결합도를 만든다. 하위 타입이 상위 타입 코드를 모두 알고 있어야하기 때문이다. 반면에 합성(Composition)은 객체 내부 필드에서 객체를 참조하게 만들고, 클래스의 인터페이스에 의존하게 만드는 방식으로 결합도를 낮춘다.

 

상속은 타입 계층을 반드시 만들어야 하는 경우에 사용한다. 해당 경우가 아니라면 대부분의 케이스에서 합성을 이용하는 것이 더 좋은 선택이다.