Default method와 abstract class는 상태·상속 축으로 선택한다

코드 재사용만 보고 interface default를 쓰면 protected state와 생성 순서를 표현할 수 없습니다.

추상화 선택공유 instance 상태와 constructor가 필요한가

필요

abstract class

다중 역할 계약

interface + default

작은 stateless 공통 동작

default method

조합 가능한 구현

delegation 우선 검토

핵심: 다중 역할 계약은 interface, 공유 상태와 template lifecycle은 abstract class가 적합합니다.