Java 17 기준으로 Optional.of/ofNullable 차이부터 흔한 안티패턴, API 설계·서비스 코드에서의 실무 가이드라인을 정리합니다. 서비스 코드에서 null 체크를 줄이려고 Optional을 도입했는데, 오히려 get()이 난무하거나 Optional> 같은 코드가 생긴 적 있으실 거예요. 더 난감한 건 Optional.of() 때문에 운영에서 NPE가 터지는 경우입니다. Optional은 “null을 없애는 마법”이 아니라, 경계를 명확히 하는 도구에 가깝습니다.핵심 개념: Java Optional을 왜/어디에 써야 할까Optional의 핵심 가치는 “값이 없을 수 있음”을 타입으로 표현해서, 호출자가 그 가능성을 무시하기 어렵게 만드는 데 있습니다. 다만 이 장점은 적절한 경계(주로 ..