Java - record class

iseon_u·2023년 5월 8일
0

Java

목록 보기
76/77
post-thumbnail

record class


  • 데이터 전용 클래스
  • 순수하게 데이터를 보유하기 위한 클래스
  • 불필요한 코드를 줄이고 간결한 코드 작성을 가능하게 해준다
  • DTO 클래스를 생성할 때 주로 사용
  • Java 14부터 도입, Java 16에서 정식 스펙으로 포함
  • 코틀린의 데이터 클래스와 유사

주요 기능

  • 생성자, 데이터 필드, 필드명을 딴 getter 메서드 자동 생성
  • 불변성 보장
  • equals(), hashCode(), toString() 메서드 자동 생성

유의 사항

  • final, public 으로 선언
  • 각 필드는 private final 필드로 정의
  • JPA entity 로 사용 불가

기존의 불변 데이터 객체

public class Person {
    private final String name;
    private final int age;
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public String getName() {
        return name;
    }
    
    public int getAge() {
        return age;
    }
}

record 클래스를 이용한 불변 객체

public record Person(String name, int age) {
}
  • 코드가 훨씬 간결해진다
profile
🧑🏻‍💻 Hello World!

0개의 댓글