Optional<T>

정지원·2022년 2월 17일
0

Optional : T타입 객체의 래퍼클래스 [T : 모든 종류의 객체를 저장할 수 있다. NULL 또한 저장 가능]

장점

-> NULL 을 직접 다루게 되면 NullpointException 이 발생 할수 있기 때문에 위험. Optional 은 객체 안에 담아 NULL 을 간접적으로 다룰 수 있게 한다.

-> NULL 을 직접 다루게 되면 NULL 체크를 해줘야한다. [코드가 지저분 해질 수 있다.]
ex) Object result = getResult(); [결과값은 NULL or 객체]
if(result!= null){
println(result.toString());
}

주의 할 점

Optional 은 비싸다.

Optional의 주목적은 메서드가 반환할 결과값이 "없음" 을 명백하게 표현할 필요가 있고, NULL 을 반환하면 에러를 유발할 가능성이 높은 상황에서 메서드의 반환타입으로 Optional을 사용하는것이 권장된다.

profile
지속적인 발전, 태도

0개의 댓글