상속 vs 컴포지션 — 기준별 판정

앞면

상속 vs 컴포지션: 메모리(성능) / 다형성 / 유지보수 / 일반적인 경우 — 각 기준에서 어느 쪽이 유리한가?

뒷면

  1. 메모리(성능): 상속 — 개체가 메모리 한 덩어리라 캐시 라인 적중에 유리, 할당·해제 횟수도 적음 (컴포지션은 확장성이 좋은 대신 덩어리가 흩어짐)
  2. 다형성: 상속 — 다른 형의 개체를 한 번에 처리하려면 상속을 사용할 수밖에 없음
  3. 유지보수: 상황에 따라 갈림 — 공통 코드 중복 제거는 상속 유리, 깊은 상속 관계가 발생하는 구조에서는 독립적으로 조립되는 컴포지션 유리
  4. 일반적인 경우: is-a면 상속, has-a면 컴포지션 — 주관성이 생기는 부분은 조직의 상식에 맞게 합의

출처: https://pocu-site.pages.dev/pocu-note/COMP2500/007-inheritance-vs-composition/007-004-four-criteria-for-inheritance-vs-composition/