[JAVA]Null 처리

모영준·2022년 11월 17일
post-thumbnail

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

단점

  • Warpper 클래스라서 두 개의 참조를 가지므로 생성 비용이 비싸다.
  • 직렬화가 불가능해 클래스의 인스턴스 필드로 사용하면 안된다. (필드는 클래스에 포함된 변수, 인스턴스 필드는 필드 내에서 선언된 변수이다.)
  • 필드로 사용하기 위해 고안된 것이 아니기 때문에 값을 반환하는 용도로만 사용해야한다.
profile
개발, 정진하며 살자!

0개의 댓글