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 중국어 웹사이트의 기타 관련 기사를 참조하세요!