본문 바로가기
Language/Java

Java - Record란?

by 밍상 2022. 6. 24.

레코드란?

  • 불변 데이터 객체를 쉽게 생성할 수 있도록 하는 새로운 유형의 클래스
  • 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