record 타입?

불변(imutable) 데이터 클래스를 간단히 정의할 수 있도록 만든 새로운 참조 타입으로 아래와 같이 사용한다.

public record User(String name, int age) {}

record 타입으로 생성된 클래스는 다음 함수를 자동으로 생성한다.


사용 목적


장점

장점 설명
코드 간결성 생성자, getter, toStirng, equals등을 자동 생성
불변성 제공 필드는 자동으로 final이며 수정 불가
안정성 증가 상태 변경이 불가능하므로 쓰레드 안정성 증가
패턴 매칭과 시너지 instanceof, switch 패턴 매칭과 조합에 유용
Java Recor 직렬화 지원 Java 17 이후 Serialzable 구현에 유리