Record는 JDK 16에서 도입된 클래스로, record로 정의된 객체의 필드 값은 한 번 설정되면 변경되지 않는다. 이를 통해 데이터의 일관성을 유지할 수 있다. 또한 record는 생성자, getter 메서드, toString메서드 등이 메서드들이 자동으로 생성되어 기존 클래스를 작성할 때보다 간결하게 객체를 생성할 수 있다.
- public record 클래스명(){}
Recod 사용하기
1. Record 작성하기
package com.example;
public record Person(String name, int age, boolean attendance) {
}
2. Record 사용하기
레코드 클래스의 인스턴스를 생성하면, 따로 getter 메서드를 작성하지 않아도 getter메서드가 자동으로 생성되어 사용이 가능하다.
package com.example;
public class Example01{
public static void main(String[] args) {
// 레코드 클래스 인스턴스 생성
Person person1 = new Person("아무개", 30, false);
// 인스턴스에 getter 메서드 기본으로 생성
System.out.println(person1.name()); // 아무개
System.out.println(person1.age()); // 30
System.out.println(person1.attendance()); // false
// 인스턴스에 toString 메서드 기본으로 생성
System.out.println(person1.toString()); // Person[name=아무개, age=30, attendance=false]
}
}
Java의 레코드 타입은 불변 객체를 생성하기 위한 기능이기 때문에 레코드의 필드는 자동으로 final로 선언된다. 즉 레코드가 생성된 후에는 필드의 값을 변경할 수 없기 때문에 setter 메서드를 넣을 수 없다.
'Backend > Java' 카테고리의 다른 글
Java 기초 문법 : 컬렉션(collection) - Map (3) (0) | 2024.10.10 |
---|---|
Java 기초 문법 : 컬렉션(collection) - Set (2) (0) | 2024.10.10 |
Java 기초 문법 : 컬렉션(collection) - List (1) (0) | 2024.10.10 |
Java 기초 문법 : 제네릭(generic) (0) | 2024.10.08 |
Java 기초 문법 : JVM 메모리구조 (0) | 2024.10.07 |
Java 기초 문법 : 인터페이스(interface) (1) | 2024.06.19 |
Java 기초 문법 : 다형성(polymorphism) (0) | 2024.06.13 |
Java 기초 문법 : 제어자(modifier) (1) | 2024.06.13 |