티스토리 뷰
record는 불변 데이터를 관리하기 위해 Java 14에서 추가된 문법이다. Java 16부터 정식 문법으로 채택되었다. DTO, VO 등 데이터를 담는 용도로 사용하던 기존 객체들의 단점을 보완할 수 있는 대체재이다.
기존 DTO, VO 등의 객체는 getter, setter 등 많은 보일러플레이트 코드를 생성하고 setter로 인해 데이터가 중간에 변경될 수 있다는 단점을 갖고 있었다.
public class OrderDto {
private Long customerId;
private Long productId;
private Long quantity;
private List<OrderItem> orderItems;
//생성자
//getter
//setter
//toString
//equals
//등 ...
}
이런 점이 보완되어 record에서는 매개변수로 들어오는 필드만 선언하면 생성자, getter, equals, toString, hashCode 등이 자동으로 생성되어 코드 작성을 줄일 수 있고, 선언된 필드들은 final로 선언되어 중간에 데이터가 변경될 수 있는 DTO의 불안성을 해소하였다.
public record OrderDto(
Long customerId,
Long productId,
Long quantity,
List<OrderItem> orderItems
) {}
record 사용 예시
public void createOrder(OrderDto orderDto) {
orderDto.customerId();
orderDto.productId();
orderDto.quantity();
orderDto.orderItems();
}
record의 등장으로 코드가 간결해지고 유지보수성이 개선되는 효과를 가져오게 되었다. record를 활용할 수 있는 환경이라면 record를 적극적으로 활용해보자.
'언어 > Java' 카테고리의 다른 글
| CompletableFuture 가이드 (0) | 2026.01.01 |
|---|---|
| 애플리케이션 로그 분석 가이드 (0) | 2025.12.28 |
| Optional 바르게 사용하기 (0) | 2025.08.26 |
| JVM 메모리 구조 정리 (0) | 2025.08.16 |
| Java 버전 별 변화 변천사 (0) | 2025.08.03 |
