선택 의존성은 후보 없음의 의미로 고른다
오류를 피하기 위한 optional이 아니라 기능이 없을 때 어떤 동작을 할지 먼저 결정한다.
생성 시 결정 ↔ 조회 시 결정
필수선택
항상 필요
plain constructor parameter
없어도 같은 호출
구성에서 no-op 구현 선택
없음이 업무 값
Optional로 생성 시점에 해결
조회 시점이 중요
ObjectProvider로 지연 조회