설명
Optional은 Java 8부터 도입된 클래스로, null을 반환할 가능성이 있는 객체를 감싸는 래퍼 클래스입니다.
기존에는 null 값을 반환할 수 있는 객체의 경우 null 처리를 하지 않으면 NullPointerException 예외가 발생할 수 있었습니다. Optional은 이러한 예외를 방지하고, null 값을 반환하는 것을 방지하기 위해 도입되었습니다.
Optional 클래스는 객체의 존재 여부를 확인하고, 값이 존재하면 그 값을 제공하거나, 값이 없으면 빈 Optional 객체를 반환합니다. 이를 통해 코드의 가독성을 높이고, NullPointerException 예외를 방지할 수 있습니다.
Optional 클래스는 다양한 메소드를 제공하며, 예를 들어 Optional 객체에서 값을 가져오는 get() 메소드, 값이 존재하는 경우 지정된 함수를 적용하는 map() 메소드, 값이 존재하지 않는 경우 기본값을 반환하는 orElse() 메소드 등이 있습니다.
값을 출력하는 방법
Optional을 사용하면 객체가 null인 경우를 처리할 수 있지만, Optional 객체 자체는 데이터를 저장하고 있지 않습니다. Optional 객체를 출력하면 해당 객체를 감싸고 있는 값이나 null 여부를 확인할 수 있습니다. 따라서 Optional 객체에 저장된 값을 출력하려면 get() 메서드를 사용해야 합니다.
다음과 같이 Optional 객체에 저장된 User 객체의 필드 값을 출력하려면 get() 메서드를 사용해야 합니다.

하지만 이렇게 get() 메서드를 사용하면 Optional 객체가 비어있는 경우 NoSuchElementException 예외가 발생할 수 있습니다. 따라서 Optional 객체에 저장된 값을 안전하게 가져오려면 isPresent() 메서드를 사용해 Optional 객체가 비어있는지 먼저 확인해야 합니다.

'JAVA > 기본' 카테고리의 다른 글
wrapper class 래퍼클래스(포장 클래스) (참조타입) (0) | 2023.08.17 |
---|---|
기본적인 타입 (0) | 2023.08.16 |
유효범위 - 전역변수, 지역변수 (0) | 2022.11.04 |
클래스 멤버와 변수, 인스턴스 멤버와 변수 (0) | 2022.11.03 |
객체, 클래스, 인스턴스 (0) | 2022.11.01 |