Record :
。JDK16에서 추가된 기능으로 재할당을 금지하는 불변객체를 쉽게 구축.
▶ 기존 final을 선언한 클래스와 유사하지만 더 간결하고 효율적으로 불변객체를 생성 가능
。public으로 선언해야 다른 클래스에서 record로 생성한 객체를 사용이 가능
。Record를 통해 DTO를 구현 시 불변객체를 통해 데이터 전달을 수행하여 DTO 객체의 불변성을 보장할 수 있다.
구현사례
。주로 POJO 역할의 불변객체 생성 시 사용하는 방식
▶ record를 생성 시 private final field, 생성자, accessor, equals(), hashCode, toString() 을 자동으로 생성 및 설정하여 따로 클래스 내 정의하는 번거로움을 감소
▶ 불변객체이므로 재할당이 금지되어 setter는 없다.

。Record 선언 시 다음처럼 클래스로서 간주되어 표시
public class Person {
private final String name;
private final int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public int age() {
return age;
}
public String name() {
return name;
}
public String toString(){
public String hashCode(){
public String equals(){
}
Record로 생성한 class
record Person(String name , int age){}