Language/Java

[Java] Optional

한비Skyla 2024. 7. 6. 23:36

값이 있을 수도 있고 없을 수도 있는 객체를 캡슐화 하는데 사용됨. 

이전에는 객체를 직접 null인지 아닌지 확인했으나, Optional 을 받으면서 Null을 다루기가 좋아짐. 

- 목적 - 

NPE 발생을 방지하기 위해 사용함.

- Optional 을 사용하면 명시적으로 객체가 null 일 수 있다는 것을 나타냄. 

메서드에 null을 반환하면 오류가 발생할 가능성이 매우 높은 경우에 '결과 없음'을 명확하게 드러내기 위해

메소드의 반환 타입으로 사용되도록 매우 제한적인 경우로 Optional을 설계

 

https://velog.io/@juhyeon1114/Java-Optional-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

 

[Java] Optional 사용하기

Optional클래스 완벼크 정리

velog.io

 

☘️ .OfNullable()

- Optional 객체 생성. null 일 수도 있고 아닐 수도 있는 값을 넘겨주어서 생성. 

 

☘️ .ifPresent()

- Optional 객체의 내부가 비어있지 않다면, 함수를 실행함. 

 

🔎 사용 방법

1. coffee.getKorName() 을 받아서, Optional 의 nullable 을 생성.

2. 만약에 객체의 내부가 존재한다면, findCoffee 에 set으로 수정. 

 

☘️ .isPresent()

- 내부가 비어있는지 아닌지 확인.

- 존재한다면 true 를 return 함. 

 

🔎 사용 방법

내부에 coffee 가 존재한다면 

이미 존재하는 커피 임을 Exception을 던져 알려줌. 

'Language > Java' 카테고리의 다른 글

[Java] 컨텍스트 스위칭  (1) 2025.04.22
[Java] 멀티스레드, 멀티태스킹, 스레드  (1) 2025.04.20
[Java] Stream  (0) 2024.06.17
[Java] boolean , if문  (0) 2024.06.08
[Java] 기타 제어자  (1) 2024.06.08