Lombok이란?
Lombok은 Java 개발에서 반복적으로 작성해야 하는 코드(예: Getter, Setter, 생성자, toString 등)를 자동으로 생성해주는 라이브러리이다. 이를 통해 코드의 가독성을 높이고, 개발 생산성을 향상시킬 수 있다.
주요 어노테이션
- @Getter: 클래스의 필드에 대한 Getter 메서드를 자동으로 생성.
- @Setter: 클래스의 필드에 대한 Setter 메서드를 자동으로 생성.
- @AllArgsConstructor: 모든 필드를 포함하는 생성자를 자동으로 생성.
- @ToString: 객체를 문자열로 출력할 때, 필드의 값을 포함한 문자열을 자동으로 생성.
- @EqualsAndHashCode: 객체의 동등성(equals)과 해시코드(hashCode)를 자동으로 생성.
Lombok 사용 예제
import lombok.*;
@Getter
@Setter
@AllArgsConstructor
@ToString
@EqualsAndHashCode
public class User {
private String name;
private int age;
}
위 코드는 Lombok을 사용하여 User
클래스의 Getter, Setter, 생성자, toString, equals, hashCode를 자동으로 생성한다.
Optional란?
Optional<T>
는 Java 8에서 도입된 클래스로, 값이 있을 수도 있고 없을 수도 있는 상황을 안전하게 처리하기 위해 사용한다. Optional
은 주로 메서드가 반환할 결과가 없을 때 null
을 반환하는 대신 사용된다.
Optional 생성
- 값이 있는 경우:
Optional.of(값)
- 값이 없는 경우:
Optional.empty()
- 값이 있을 수도 있고 없을 수도 있는 경우:
Optional.ofNullable(값)
값 확인 및 가져오기
isPresent()
: 값이 있으면true
, 없으면false
를 반환.get()
: 값이 있는 경우 값을 반환한다. 값이 없으면NoSuchElementException
이 발생.orElse(기본값)
: 값이 있으면 값을 반환하고 없으면 기본값을 반환.orElseGet(Supplier)
: 값이 있으면 값을 반환하고 없으면Supplier
에서 제공하는 값을 반환.orElseThrow(예외)
: 값이 있으면 값을 반환하고 없으면 지정한 예외를 던진다.
Optional 사용 예제
import java.util.Optional;
public class OptionalExample {
public static void main(String[] args) {
// 값이 있는 경우
Optional<String> optionalWithValue = Optional.of("Hello, World!");
if (optionalWithValue.isPresent()) {
System.out.println("Value is present: " + optionalWithValue.get());
} else {
System.out.println("Value is absent");
}
// 값이 없는 경우
Optional<String> optionalEmpty = Optional.empty();
String valueOrDefault = optionalEmpty.orElse("Default Value");
System.out.println("Value or default: " + valueOrDefault);
}
}
Optional<T>
는 값이 있을 수도 있고 없을 수도 있는 상황을 안전하게 처리할 수 있도록 도와준다.
'TIL' 카테고리의 다른 글
250109 목 TIL (0) | 2025.01.09 |
---|---|
250108 수 TIL (0) | 2025.01.08 |
TIL 250106 월 (0) | 2025.01.06 |
250106 월 TIL (0) | 2025.01.06 |
250103 금 TIL (2) | 2025.01.03 |