백엔드 개발 · 기초
Java의 Optional 클래스는 왜 만들어졌고, 어떻게 사용하나요?
힌트 · NullPointerException을 방지하는 방법을 생각해보세요.
NullPointerExceptionnull-safeisPresent()orElse()Optional 객체
모범답안
Java의 Optional 클래스는 NullPointerException을 효과적으로 방지하기 위해 도입되었습니다. 기존에는 null 체크를 일일이 해야 했지만, Optional을 사용하면 값이 없을 수도 있는 상황을 명시적으로 표현하고 더 안전하게 처리할 수 있습니다.
Optional은 값을 감싸는 래퍼 클래스입니다. 값이 존재하면 그 값을 가지고, 값이 없으면 비어있는 Optional 객체를 가집니다.
주요 사용법은 다음과 같습니다. Optional.of(value)로 값을 감싸거나, 값이 null일 가능성이 있다면 Optional.ofNullable(value)을 사용합니다. 값이 있는지 확인하려면 isPresent() 메서드를 사용하고, 값이 없을 경우 기본값을 제공하려면 orElse() 메서드를 활용합니다. 예를 들어 Optional<String> name = Optional.ofNullable(getName()); String result = name.orElse("Unknown"); 처럼 사용할 수 있습니다.
Optional을 사용하면 코드 가독성이 높아지고, null 관련 오류를 컴파일 시점에 어느 정도 방지할 수 있다는 장점이 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 Java / Spring 면접 질문
- Spring의 IoC(Inversion of Control)와 DI(Dependency Injection)의 개념과 장점에 대해 설명해주세요.
- @Component, @Service, @Repository, @Controller의 차이점은 무엇인가요?
- Java의 equals()와 hashCode() 메서드를 왜 함께 오버라이드해야 하나요?
- Java의 Checked Exception과 Unchecked Exception의 차이점과 사용 지침에 대해 설명해주세요.
- Spring의 프로파일(Profile) 기능은 무엇이며, 어떻게 활용하나요?