Java의 Null처리는 If문 으로 해결하려고 했으나
처리해야할 null 값이 많아질 수 록 코드가 길어지고 가독성이 떨어지며 해결책으로 Java8 부터는 명시적, 가독성을 위해 Optional 이라는 개념이 등장 했다.
null 이 있을 수 있음을 명시적으로 보여줄 수 있으므로 필수 값이 아님을 알 수 있겠다고 생각되었다.
이후 테스트 해보면서 
이런 오류가 나왔는데 검색해서 찾아보았더니 isPresent()라는 것으로 사용하여 값이 있는지 체크를 하였다. 하지만 Optional은 JPA에서 Optional을 반환하는 값에 쓰는 것이 더 좋다는 생각이 들었다.
NullPointerException 처리를 도와주는 Wrapper Class이다.
단점