객체 지향 협력은 역할과 구현을 서로 다른 층으로 본다

BoardService는 PostNotifier 계약에 요청하고 선택된 구현 객체가 서로 다른 알림 방식을 수행합니다.

PostNotifier 역할notify(title) 계약

ConsoleNotifier

콘솔 알림

SilentNotifier

조용히 처리

BoardService

역할에만 요청

핵심: 역할 계약이 안정되면 구현 교체가 핵심 클라이언트 정책까지 번지지 않습니다.