선택 의존성은 후보 없음의 의미로 고른다

오류를 피하기 위한 optional이 아니라 기능이 없을 때 어떤 동작을 할지 먼저 결정한다.

1. 항상 필요

plain constructor parameter

2. 없어도 같은 호출

구성에서 no-op 구현 선택

3. 없음이 업무 값

Optional로 생성 시점에 해결

4. 조회 시점이 중요

ObjectProvider로 지연 조회