코틀린 디자인 패턴 (8) – Composite 패턴으로 트리 구조 다루기
코틀린 Composite 패턴은 파일과 폴더처럼 개별 객체와 묶음 객체가 반복되는 트리 구조에서 특히 유용합니다. 호출부에 분기와 재귀를 흩뿌리지 않고, 공통 인터페이스로 전체 트리를 일관되게 다루는 감각을 Kotlin 예제로 정리합니다.
코틀린 Composite 패턴은 파일과 폴더처럼 개별 객체와 묶음 객체가 반복되는 트리 구조에서 특히 유용합니다. 호출부에 분기와 재귀를 흩뿌리지 않고, 공통 인터페이스로 전체 트리를 일관되게 다루는 감각을 Kotlin 예제로 정리합니다.
코틀린 Bridge 패턴은 알림 종류와 발송 채널처럼 서로 독립적으로 늘어나는 축이 있을 때 특히 유용합니다. 상속 계층 하나로 조합을 다 감당하려 하면 클래스가 금방 불어나기 때문에, Bridge는 abstraction과 implementation을 분리해 상속 폭발을 줄이는 방향을 제시합니다.
의존성 역전 원칙(DIP)을 의존 방향, 정책-세부 구현 분리, 변경 비용 기준으로 실무 코드에 맞게 설명합니다.
결합도가 중요한 이유는 코드가 연결되어 있기 때문이 아니라, 하나를 바꿀 때 같이 수정해야 하는 부분이 너무 많아지기 때문입니다. 이 글에서는 잘못된 설계 예시와 개선 예시를 통해 변경 전파와 유지보수 비용을 쉽게 설명합니다.