레코드란?
- 불변 데이터 객체를 쉽게 생성할 수 있도록 하는 새로운 유형의 클래스
- JDK14에서 preview로 등장하여 JDK16에서 정식 스펙으로 포함
- JDK 14부터는 반복적인 데이터 클래스를 레코드로 대체할 수 있습니다. 레코드는 필드의 유형과 이름만 필요로 하는 변경할 수 없는 데이터 클래스입니다. equals , hashCode , toString 메소드, private , final 필드, public 생성자는 자바 컴파일러에 의해 생성됩니다.
- 일반 Java 클래스와 마찬가지로 레코드에 정적 변수와 메서드를 포함할 수도 있습니다 .
레코드의 제한
- 레코드는 암묵적으로 final 클래스이고, abstract 선언 불가
- 다른 클래스를 상속 받을 수 없음(extends X)
- 인터페이스 구현(implements O)은 가능
레코드는 객체 지향의 사상에 맞게 간견하게 표현하기 위한 방법을 제공하고, 불변 데이터를 모델링하는데 집중하도록 도와준다.
public record Person (String name, String address) {}
단순 이 한줄로 equals , hashCode , toString 메소드, private , final 필드, public 생성자를 가진 객체를 만들 수 있다.
'Language > Java' 카테고리의 다른 글
Java - JSON 파싱 (0) | 2023.08.03 |
---|---|
Java - ThreadLocal (0) | 2022.07.02 |
Wrapper Class vs Primitive Type (0) | 2022.03.29 |
Java - 스트림으로 데이터 수집 (0) | 2022.03.03 |
Java - 스트림 활용 (0) | 2022.03.03 |