BackEnd/자바
-
-
-
-
Optional - 모던 자바 인 액션BackEnd/자바 2022. 4. 4. 23:48
자바8은 하스켈과 스칼라의 영향을 받아 Optional 클래스를 제공한다. 선택형값을 캡슐화하는 클래스이다. null 참조와 Optional.empty() 의 차이 null 을 참조하려 하면 NPE 이 발생하지만 Optional 은 객체라서 활용할 수 있다. null 대신 Optional 을 사용하면 값이 없을 수도 있음을 명시적으로 보여준다. 반면 객체 자체를 사용하면 null 참조가 할당될 경우 이것이 올바른 값인지 잘못된 값인지 판단할 정보가 없다. 아래는 Person 이 Car 를 소유할 수도 있고 소유하지 않을 수도 있음을 명시적으로 보여준다. 도메인 모델의 의미를 더 명확하게 만들 수 있는 것을 보여준다. public class Person { private Optional car; publi..
-
-
-
-
반응형