역할과 구현을 분리하면 보는 관점과 변경 이유가 갈린다

역할은 클라이언트가 기대하는 협력 약속이고 구현은 그 약속을 수행하는 구체 방법입니다.

역할

요구 계약·결과 의미 · 대체 가능한 타입

구현

생성·설정·알고리즘 세부 · 교체 가능한 방법

핵심: 메서드 모양뿐 아니라 입력·결과·실패 의미까지 같아야 한 역할에서 대체할 수 있습니다.