Java에서 Record란 무엇인가?
record는 Java 14에서 처음 소개된 새로운 클래스 타입으로, 변경 불가(immutable) 데이터 객체를 쉽게 만들 수 있게 한다. 또한 record는 기존의 클래스와 비슷하지만, 더 간결하고 효율적으로 데이터 객체를 생성할 수 있도록 설계되었다.
Record의 특징
record는 코드를 간결하게 만들기 위한 목적으로 도입되었다. 필드를 정의하면 해당 필드를 기반으로 자동으로 메서드가 생성되어 코드의 양을 줄일 수 있고, 불필요한 보일러플레이트 코드를 줄여 가독성을 높여준다.
record는 필드를 기반으로 equals(), hashCode(), toString() 메서드를 자동으로 생성한다. 이로써 불필요한 반복적인 코드 작성을 피할 수 있다.
record는 필드를 기반으로 자동으로 생성자를 생성한다. 그러나 필요에 따라 명시적인 생성자를 정의할 수도 있다.
record는 필드가 한 번 설정되면 값을 변경할 수 없다. 이는 불변성을 보장하며 데이터의 안정성을 높이는 데 도움이 된다.
record의 필드를 final로 선언할 필요가 없다. Compiler는 필드를 불변으로 취급하고 자동으로 final로 처리한다.
record는 Java의 Pattern Matching과 함께 사용될 수 있어, 데이터 추출 및 패턴 일치 검사에 효과적으로 사용될 수 있다.
record의 주된 목적은 객체 간에 불변 데이터를 전달하는 것이다. 따라서 DTO(Data Transfer Object)를 표현하는데 적합하다.