Java 27(레코드 Record)

Kang.__.Mingu·2024년 5월 10일
0

Java

목록 보기
29/108

Record 레코드

  • JDK 14에서 만들어진 새로운 Java 자료형
  • 클래스보다 간결하게 값을 저장할 목적의 객체를 생성하기 위한 자료형
  • 필드값을 변경할 수 없는 객체를 생성하기 위한 목적으로 선언
  • 레코드에는 final 필드만 작성 가능
  • 레코드 선언시 소괄호 안에 필드를 작성하면 생성자 및 메소드가 자동 생성
  • 필드명 동일한 이름으로 필드값을 반환하는 메소드 제공

Class와 Record의 차이

MemberOne

// 회원정보(아이디, 이름, 이메일)를 저장하기 위한 클래스 - 값을 저장할 목적의 클래스
public class MemberOne {
    private String id;
    private String name;
    private String email;

    public MemberOne() {
    }

    public MemberOne(String id, String name, String email) {
        this.id = id;
        this.name = name;
        this.email = email;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Override
    public String toString() {
        return "[아이디 =" + id + ", 이름 =" + name + ", 이메일 =" + email + "]";
    }
}

MemberOneApp

public class MemberOneApp {
    public static void main(String[] args) {
        MemberOne member = new MemberOne("abc123", "홍길동", "abc@itwill.xyz");

        System.out.println("아이디 = " + member.getId());
        System.out.println("이름 = " + member.getName());
        System.out.println("이메일 = " + member.getEmail());

    }
}

MemberTwo(Record)

public record MemberTwo(String id, String name, String email) {

}

MemberTwoApp(Class)

public class MemberTwoApp {
    public static void main(String[] args) {
        MemberTwo member = new MemberTwo("abc123", "홍길동", "abc@itwill.xyz");

        System.out.println("아이디 = " + member.id());
        System.out.println("이름 = " + member.name());
        System.out.println("이메일 = " + member.email());

    }
}
profile
최선을 다해 꾸준히 노력하는 개발자 망고입니당 :D

0개의 댓글