책/모던 자바 인 액션

11장 null 대신 Optional 클래스

sami355 2024. 6. 18. 22:36

❗ 본 포스팅은 타이핑 공부법으로 작성하였습니다. 그렇기에 부족한 점이 존재할 수 있습니다.

11.1 값이 없는 상황을 어떻게 처리할까?

  • 대부분의 프로그래머는 필요한 곳에 다양한 null 확인 코드를 추가해서 null 예외 문제를 해결하려 할 것이다.
  • if가 추가되면서 코드 들여쓰기 수준이 증가한다.
  • 반복 패턴 코드를 '깊은 의심'이라고 부른다.
  • null 때문에 발생하는 문제
    • 에러의 근원이다.
    • 코드를 어지럽힌다.
    • 아무 의미가 없다.
    • 자바 철학에 위배된다.
    • 형식 시스템에 구멍을 만든다.

11.2 Optional 클래스 소개

  • Optional은 선택형 값을 캡슐화하는 클래스다.
  • 모든 null 참조를 Optional로 대치하는 것은 바람직하지 않다.

11.3 Optional 적용 패턴

  • 자바 9에서는 Optional을 포함하는 스트림을 쉽게 처리할 수 있도록 Optional에 stream() 메서드를 추가했다.
  • Optional 객체에 filter 메서드를 이용해서...