부모 타입 의존으로 결합도 줄이기
노트 유형: Cloze
Text
의존하는 구체 클래스(자식)의 교체가 잦을 때 결합도를 줄이는 방법: 멤버 변수·매개변수를 {{c1::부모(일반화된) 타입}}으로 선언하고 자식 개체를 주입 — {{c2::다형성}}을 사용해 어떤 자식으로 교체해도 내 코드는 무변경
- 이것이 통하는 전제: 추상화를 잘했다면 부모 타입은 {{c3::바뀔 일이 적음}}
- 부모가 인터페이스여도 동일 — 자식이 아니라 부모 인터페이스에 의존
Back Extra
- 이때도 의존성은 부모 타입에 여전히 있음 — 없앤 게 아니라 줄인 것