티스토리 뷰

언어/Java

Record 살펴보기

snvlqkq 2025. 9. 14. 18:50

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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함