Interface 구성원은 계약·공통 동작·생성 도구를 나눠 맡는다

모든 코드를 default에 넣으면 구현 state에 접근할 수 없고 추상 계약이 흐려집니다.

구성원역할호출
abstract method구현 필수 계약dynamic dispatch
default method공통 instance 동작상속·override
static methodfactory·utilityInterface.m
private methoddefault 구현 공유interface 내부
constantpublic static final 값Interface.NAME

핵심: 각 member 종류의 dispatch와 목적을 구분합니다.