최신 언어들은 보통 ? ?: 같은 연산자로 컴파일 타임에서 null 처리를 해줄 수 가 있음


근데 자바처럼 옛날 언어들은 하위호환성을 위해 Optional 을 사용하는데



문제는 이 Optional 가 class 로 구현되었기 때문에 Optional 이 null 이 되는 웃픈 상황이 발생할 수 있음


물론 Optional 을 모나딕하게 사용하면 그럴 일은 줄어드겠지만


"컴파일" 타임이 아닌 "런타임"에 발견된다는건 프로그램 완성도 차원면에서 매우 불안정 하다는 뜻임


그러니 자바 버려라