새소식

Java/제대로 파는 자바

[제대로 파는 자바 (Java)-by 얄코] 레코드 (Java 16+)

  • -

해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다.

 

 

 

 

 

  • 자바 14에서 Preview로 추가, 16에서 정식 등록
  • 데이터의 묶음을 저장하기 위한, 단순한 형태의 클래스

 

 

 

 

▼ 클래스로 작성한 예시

package sec06.chap07.ex01;

//  기존처럼 클래스로 작성해야 했다면...
public class ChildClass {
    private final String name;
    private final int birthYear;
    private final Gender gender;

    public ChildClass(String name, int birthYear, Gender gender) {
        this.name = name;
        this.birthYear = birthYear;
        this.gender = gender;
    }

    public String getName() { return name; }
    public int getBirthYear() { return birthYear; }
    public Gender getGender() { return gender; }
}

 

 

 

 

 

▼ ★레코드로 작성한 예시★

// ⭐️  레코드로 작성
public record Child(
        String name,
        int birthYear,
        Gender gender
) {}

 

 

 

 

 

 

 

  • 레코드는 final
    • 다른 클래스로 상속되거나 abstract 로 선언 불가
  • 레코드의 각 항목들(name,birthYear,gender)은 private, final
    • 각각 같은 이름의 getter가 기본으로 만들어짐
  • 인스턴스 필드를 가질 수 없음
    • 클래스 필드는 가능 ( 아래 예제에서 확인 )

 

 

 

 

 

 

 

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.