Kotlin의 Data Class는 데이터 저장 목적으로 만든 클래스를 위한 문법이다.
- 기본 구조
data class User(
val name: String,
val age: Int
)
자바 14부터 코틀린의 Data 클래스와 유사한 Record라는 클래스가 추가되어 자바 16에서 정식으로 지원되기 시작.
기존 자바에서 DTO 등의 클래스를 만들 때는 Lombok의 도움을 받아 @Data
어노테이션을 붙이는 필요성이 줄어들게 되었다.
- 기본 구조
public record Member(
String account,
String name,
int age
) {
...
}
- 원칙적으로 모든 것이 final인 Record의 특성상 copy()를 굳이 지원하지 않는다.
- 다만, 다른 클래스를 상속받은 Data class의 경우 권장되는 방식은 아니다.