>  기사  >  Java  >  Java 14에서 레코드를 사용하여 불변 데이터 객체를 생성하는 방법

Java 14에서 레코드를 사용하여 불변 데이터 객체를 생성하는 방법

WBOY
WBOY원래의
2023-07-31 16:34:581406검색

Java 14에서 레코드를 사용하여 불변 데이터 객체를 생성하는 방법

최근 몇 년 동안 Java 언어의 개발이 지속적으로 발전하여 개발자에게 보다 효율적이고 편리한 도구를 제공하고 있습니다. Java 14에 도입된 레코드는 불변 데이터 객체의 생성 및 관리를 단순화하는 흥미로운 기능입니다. 이 기사에서는 Java 14의 레코드를 사용하여 불변 데이터 객체를 생성하고 몇 가지 샘플 코드를 제공하는 방법을 소개합니다.

기록에 대해 논의하기 전에 먼저 불변 데이터 객체가 무엇인지 이해해야 합니다. 간단히 말해서 불변 데이터 객체는 일단 생성되면 수정할 수 없는 객체입니다. 스레드 안전성, 쉬운 테스트 및 우수한 성능과 같은 몇 가지 중요한 기능이 있습니다.

과거 Java 버전에서는 일반적으로 클래스를 사용하여 불변 데이터 개체를 만들었습니다. 이 방법을 사용하려면 개인 변수 정의, getters 메서드 구현, equals 및 hashCode 메서드 재정의 등과 같은 반복적인 코드를 수동으로 작성해야 합니다. 이러한 반복적인 작업은 지루하고 오류가 발생하기 쉽습니다.

Java 14에서는 Records가 이 문제를 해결해 줍니다. Records는 몇 가지 일반적인 메서드와 코드를 자동으로 생성하여 불변 데이터 개체 생성을 단순화하는 새로운 클래스 선언 형식입니다. 다음은 레코드를 사용하여 불변 데이터 객체를 생성하는 예입니다.

public record Person(String name, int age) {}

위 예에서는 Person 클래스를 불변 데이터 객체로 정의했습니다. 이 클래스에는 이름과 나이라는 두 개의 필드만 포함되어 있으며 메서드가 없습니다. 생성자, getter, 동등 및 hashCode 메소드를 명시적으로 정의할 필요가 없습니다. 이 모든 것은 레코드에 의해 자동으로 생성됩니다.

다음은 레코드를 사용하여 불변 데이터 객체를 생성하는 몇 가지 실제 사례입니다.

사례 1: 학생 정보

학생 번호, 이름, 나이의 세 가지 필드를 포함하는 학생 정보의 데이터 개체를 생성해야 한다고 가정해 보겠습니다. Records를 사용하여 이 개체를 정의할 수 있습니다.

public record Student(String id, String name, int age) {}

// 创建一个学生对象
Student student = new Student("1001", "张三", 18);

// 获取学生信息
String id = student.id();
String name = student.name();
int age = student.age();

System.out.println("学生信息:学号-" + id + ",姓名-" + name + ",年龄-" + age);

Record를 통해 생성된 Student 클래스는 생성자 및 getter 메서드를 자동으로 생성했으며 이러한 메서드를 직접 사용하여 학생 정보를 얻을 수 있습니다.

사례 2: 제품 정보

제품 이름, 가격, 재고의 세 가지 필드를 포함하는 제품 정보의 데이터 개체를 생성해야 한다고 가정해 보겠습니다. Records를 사용하여 이 개체를 정의할 수 있습니다.

public record Product(String name, double price, int stock) {}

// 创建一个商品对象
Product product = new Product("Java编程入门", 68.0, 100);

// 获取商品信息
String name = product.name();
double price = product.price();
int stock = product.stock();

System.out.println("商品信息:名称-" + name + ",价格-" + price + ",库存-" + stock);

마찬가지로 Records를 통해 생성된 Product 클래스에는 생성자 및 getter 메서드가 자동으로 생성되었으며 이러한 메서드를 직접 사용하여 제품 정보를 얻을 수 있습니다.

요약:

위의 예를 통해 Java 14의 Records를 사용하여 불변 데이터 객체를 생성하는 것이 매우 간단하고 효율적이라는 것을 알 수 있습니다. 레코드를 사용하면 많은 반복 코드를 수동으로 작성하는 것을 방지하고 개발 효율성을 높일 수 있습니다. 기록은 또한 더 명확하고 읽기 쉬운 코드를 제공하여 오류 가능성을 줄이는 데 도움이 될 수 있습니다.

그러나 레코드는 불변 데이터 객체 생성을 단순화할 수 있지만 모든 클래스 선언에 적합하지는 않습니다. 레코드는 불변 데이터를 설명하는 클래스에만 사용할 수 있으며 데이터 상태를 변경하는 메서드를 포함할 수 없습니다. 또한 레코드는 상속 계층 구조에서 사용할 수 없습니다.

요약하자면, 레코드는 개발자가 불변 데이터 객체를 더욱 편리하게 생성하는 데 도움이 되는 Java 14의 매우 유용한 기능입니다. 이 글이 기록을 이해하고 활용하는 데 도움이 되기를 바랍니다. 향후 프로젝트에서 Records의 장점을 최대한 활용하여 개발 효율성과 코드 품질을 향상시킬 수 있기를 바랍니다.

위 내용은 Java 14에서 레코드를 사용하여 불변 데이터 객체를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.