728x90
반응형
오늘은 자바의 강력한 기능 중 하나인 '레코드(Records)'에 대해 기록을 해보려고 합니다.
자바 16부터 정식으로 도입된 레코드는
데이터 전송 객체(DTO)의 생성을 더욱 간결하고 명확하게 만들어 줍니다.
저는 보통 lombok을 사용해서 어노테이션을 덕지덕지 붙여놨었는데
DTO를 Record로 생성하면 간단하게 해결되더라구요.
정리를 해보자면
자바 레코드란?
자바 레코드는 데이터를 운반하는 데에 최적화된 불변의 데이터 클래스입니다.
기존의 클래스보다 훨씬 간결한 코드로 필드와 데이터를 정의할 수 있어,
개발자의 편의성을 크게 향상시킵니다.
예제 한번봅시다.
public record Person(String name, int age) {}
끝.
단 몇 줄의 코드로 Person 클래스를 완성할 수 있습니다.
이 클래스는 자동으로 모든 필드에 대한 getter, equals, hashCode, toString 메소드를 생성합니다.
lombok이 필요없죠.
레코드의 장점
- 코드 간결성: 레코드를 사용하면 클래스의 구현이 매우 간결해지며, 가독성이 향상됩니다.
- 데이터 불변성: 레코드의 모든 필드는 final입니다. 이는 데이터의 불변성을 보장합니다.
- 자동 생성 메소드: equals, hashCode, toString 등이 자동으로 생성되어, 반복적인 코드 작성의 필요성을 줄여줍니다.
클라이언트 쪽은 똑같이 사용하시면 됩니다.
public class Main {
public static void main(String[] args) {
Person person = new Person("김수민", 30);
System.out.println(person);
}
}
// 출력: Person[name=김수민, age=30]
결론
레코드는 자바에서 데이터를 다룰 때 깔끔하고 효율적인 방법을 제공합니다.
기존의 긴 클래스 선언 방식에서 벗어나, 더욱 직관적이고 간결한 코드 작성을 가능하게 해줍니다.
자바 개발에 있어 레코드는 반드시 익혀야 할 중요한 요소 중 하나입니다.
728x90
반응형
'자바' 카테고리의 다른 글
[자바] Form 데이터 파싱후 JUnit5로 테스트 (x-www-form-urlencoded) (2) | 2024.02.17 |
---|---|
[자바]Java Reflection: ModelMapper를 활용한 효율적인 객체 매핑 기법 (1) | 2024.02.11 |
[자바] Try-with-resources in Java: 코드를 깔끔하게 유지하는 현대적 방법 (0) | 2024.01.21 |
[자바] 클래스 파일 구조, VM명세서 (0) | 2023.11.14 |
[자바] 문자열 관리: 언제 String, StringBuilder, StringBuffer를 사용해야 할까? (0) | 2023.10.23 |