추상화 도구 선택 기준
두 도구는 모두 계약을 만들지만, 상태와 기본 구현을 어디에 둘지에 따라 선택이 달라집니다.
base
공통 상태, 기본 메서드, 보호된 헬퍼를 부모에 두고 일부 동작만 자식에게 맡길 때 abstract class가 변경 지점을 한 곳에 묶습니다.
계약
구현 없이 형태와 역할만 강제하고, 여러 역할을 동시에 조합해야 할 때 적합합니다.
상태
공유 필드가 필요한가
구현
기본 로직을 제공할까
역할
다중 구현이 필요한가
핵심추상화 도구 선택 기준은 각 요소의 관계와 선택 조건을 함께 읽어야 한다.