부모 타입 의존으로 결합도 줄이기

노트 유형: Cloze

Text

의존하는 구체 클래스(자식)의 교체가 잦을 때 결합도를 줄이는 방법: 멤버 변수·매개변수를 {{c1::부모(일반화된) 타입}}으로 선언하고 자식 개체를 주입 — {{c2::다형성}}을 사용해 어떤 자식으로 교체해도 내 코드는 무변경

  • 이것이 통하는 전제: 추상화를 잘했다면 부모 타입은 {{c3::바뀔 일이 적음}}
  • 부모가 인터페이스여도 동일 — 자식이 아니라 부모 인터페이스에 의존

Back Extra

  • 이때도 의존성은 부모 타입에 여전히 있음 — 없앤 게 아니라 줄인 것

출처: https://pocu-site.pages.dev/pocu-note/COMP2500/011-interface-vs-implementation/011-005-coupling-in-inheritance/