"개발자를 괴롭히는 가장 흔한 에러" 자바 개발자라면 누구나 한 번쯤 java.lang.NullPointerException(널포인터 예외)이라는 빨간 에러 메시지를 마주하고 좌절해본 경험이 있을 겁니다. if (a != null) 코드를 수도 없이 반복하다가 결국 어딘가에서 널 체크를 빼먹어 프로덕션 서버가 멈추는 악몽을 겪기도 하죠.자바 8부터 도입된 Optional는 이 끔찍한 널포인터 예외를 우아하고 안전하게 다룰 수 있게 해주는 특별한 컨테이너 클래스입니다. 오늘은 Optional이 정확히 무엇이고, 어떻게 사용해야 하는지 파헤쳐 보겠습니다.1. Optional, 도대체 넌 누구니?Optional은 단일 객체를 담을 수 있는 '컨테이너'입니다. 마치 값(T)이 담겨있을 수도 있고, 비어 있을 수..