Optional 란?

Optional은 Java 8에서 도입된 클래스로, null이 될 수 있는 객체를 감싸는 래퍼 클래스입니다. Optional의 주요 목적은 NullPointerException을 방지하고 null 체크

Optional의 주요 특징

Optional 사용 시 주의사항


🔸 1. Optional<DataMember> member = repository.findById(id);

java
복사편집
Optional<DataMember> member = repository.findById(id);  // Optional로 감싸진 값
if (member.get().getId() == null) {  // 값이 있다고 가정하고 바로 꺼내서 사용 (위험)
    throw new UsernameNotFoundException("User not found with id: " + id);
}

문제점: member.get()은 Optional.empty()일 때 예외가 발생하므로, 그 전에 isPresent() 또는 orElseThrow() 같은 안전한 처리를 해야 합니다.


🔸 2. DataMember member = repository.findById(id).get();