OOP
객체 지향의 상속 문제점과 합성 (Composition) 이해하기

장점

  1. 이미 검증된 기존 코드를 통해 새 프로그램을 만듦 ➡️ 기존 코드는 에러 없음 보장 (Consistency (일관성)), 디버깅 시간 단축
  2. 생산성 증가 ➡ Less Money/Time Cost
  3. Extensibility (확장성)
  4. 중복 코드가 적음 ➡ 수정 용이, Maintainability (유지보수성)

방법

Inheritance (상속)Mixin (믹스인)Composition (합성)
관계Inheritance (상속)
Composition (합성)
관계 결정 시점Static, 컴파일 타임에 결정StaticDynamic, 런타임에 결정
Coupling (결합도)높음낮음, 구현이 아닌 Interface에 의존
주체클래스객체
재사용되는 부분Parent 클래스의 구현포함되는 쪽의 public Interface