350
PART 02
함수형 접근 방식
하더라도 경험적으로 언젠가 그럴 가능성이 있다는 것을 알려줍니다.
null
참조가 존재한다는 것이 언어 설계가 불완전하다는 것을 의미하지는 않습니다.
null
은
그 자체의 역할과 위치를 가지고 있으며, 코드를 작성할 때는 주의를 더 기울여야 합니다. 이
것은 코드 내의 모든 변수와 인수를
Optional
로 변경해야 한다는 뜻은 아닙니다.
Optional
은 선택적 반환값에 제한적인 메커니즘을 제공하도록 설계되었으므로 단순히 편리
해 보인다고 과도하게 사용하거나 잘못 사용하지 않도록 주의하세요. 여러분이 관리하는 코
드에서는
Optional
을 사용하지 않더라도 참조가
null
일 가능성에 대해 추측과 확신을 가질
수 있으며, 그에 맞게 적절히 대응할 수 있습니다. 이 책에서 강조된 다른 원칙들, 예를 들어
사이드 이펙트가 없고 규모가 작으며 독립적인 순수함수를 사용하는 것을 따른다면 코드가
예기치 않게
null
참조를 반환하지 않도록 할 수 있습니다.
핵심 요약핵심 요약
●
자바에는
null
처리를 위한 별도의 언어 수준이나 특별한 문법이 없습니다.
●
null
은 ‘존재하지 않음’과 ‘정의되지 않음’ 두 상태를 모두 표현할 수 있는 특별한 값입니다.
이 두 상태를 구별하는 것은 불가능합니다.
●
Optional
<
T
>
타입은 이러한 상태들에 대해 연산 체인과 대체값을 사용하여 전문적인
null
처리를 제공합니다.
●
원시 타입을 위한 특별한 타입들도 존재하지만 모든 기능을 동일하게 제공하지는 않습니
다.
●