중간 객체 하나라도 없을 수 있는데 마지막 값만 null 검사하면 앞 단계 dereference에서 실패합니다.
Optional<User>
Optional<Address>
Optional<String>
유효한 도시
배송지 미등록
핵심: 각 getter가 nullable이면 map이 empty를 전파하고 Optional 반환이면 flatMap으로 연결합니다.