orElseGet

Optional 파헤치기!
자비스 앤 빌런즈 인터뷰 프로세스를 진행하면서 면접관님께서 “Optional.of로 왜 데이터를 저장할 때 감쌌는지” 여쭤보셨다. 나는 내가 작성한 로직 의도대로 말씀드렸지만, 실제 메서드 내부의 동작이나 어떤 파라미터가 들어오고 어떤 경우에 이를 쓰는지, 어떤 예외가 발생할 수 있는지 등등 여러가지 꼬리 질문이 들어왔고 제대로 답변 드리지 못했다. 특히, Optional을 주로 써오면서 .of().orElseThrow() 이런 방식으로 코딩을 가끔 했었는데 그동안은 예외가 발생하지 않았던 것이지 null이 들어오는 경우 반드시 NPE가 발생하는 것에 대해 면접을 통해 알게 되었다. 이를 계기로 기본적인 Optional 사용법에 대해 파악하고 앞으로는 Optional을 사용할 때 적절한 경우와 조심해서 ..