record

jiiiiiiiArchive.·2025년 2월 3일

🤯지식주머니🤯

목록 보기
69/98

record

DTO 구현을 위해 getter, setter과 같은 데이터 처리 혹은 특정 연산을 수행하기 위해 오버라이드된 메서드를 반복해서 작성하게 된다.

record는 Java 14에서 도입된 기능으로,
불변 객체(immutable object)를 간단하게 정의할 수 있는 새로운 클래스 유형이다.

일반적인 class보다 적은 코드로 데이터를 저장하는 목적의 클래스를 쉽게 만들 수 있다.

기존 방식(일반적인 클래스)

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;
    }

    @Override
    public String toString() {
        return "Person{name='" + name + "', age=" + age + "}";
    }
}

위 코드에서는 생성자, getter, toString()을 수동으로 작성해야 한다.

✅record 사용 방식

record Person(String name, int age) {}
  • 생성자, getter, toString(), equals(), hashCode() 등이 자동으로 생성
  • 필드는 자동으로 private final이 적용
  • 불변 객체(immutable)로 동작하므로 한 번 생성하면 값을 변경할 수 없다.
  • 예제
Person p = new Person("Alice", 25);
System.out.println(p.name()); // getter 메서드 역할 (name)
System.out.println(p.age());  // getter 메서드 역할 (age)
System.out.println(p); // 자동 생성된 toString()
profile
이것저것 다 적는 기록장📚

0개의 댓글