불변성을 가진 데이터 모델을 간결하게 정의할 수 있다.
데이터 전송 객체(DTO), 요청 (Request), 응답(Response) 객체 등에 유용하다.
1. 각 데이터 클래스에 대해 동일한 프로세스를 반복
2. 클래스의 목적이 모호해진다.
-> 클래스가 데이터 클래스임을 명시적으로 선언해준다.
필드 유형과 이름만 필요한 불변 데이터 클래스
public record UserRequest(String username, String email) {}
public record UserResponse(String username, String email, int status) {}
위 예에서 UserRequest와 UserResponse는 Record를 사용하여 정의되었다. 이들은 각각 사용자의 요청과 응답을 표현하는 불변 객체다. Java Record를 사용함으로써, 각 필드에 대한 생성자와 게터, 그리고 equals(), hashCode(), toString() 메서드가 자동으로 생성된다. 따라서 추가적인 메서드 구현 없이 이러한 기능들을 바로 사용할 수 있다.
[server] 데이터의 멱등성(idempotency) (0) | 2024.04.14 |
---|---|
[server] spring jpa에서 'ordinal' 왜 사용 안할까? (@Enumerated(EnumType.STRING) /@Enumerated(EnumType. ORDINAL) ) (0) | 2024.04.14 |
[Spring/Java] 스프링의 의존성 주입 방식 (DI) (0) | 2024.04.04 |
[객체 지향 프로그래밍] 소프트웨어 설계를 위한 다섯 가지 기본 원칙 : SOLID 원칙 (0) | 2024.04.04 |
[Java] super, super() 키워드 차이 (1) | 2024.04.04 |
댓글 영역