Java Record - Spring에서의 사용 사례와 함께


• Java Record는 클래스 선언 방법의 한 형태로, boilerplate 코드를 줄이는 것을 목표로 합니다. 필드를 선언과 동시에 나열하여 사용하며, 상속이 불가능하고, 필드는 private final 처리되어 불변성을 제공합니다.
• Record는 일반 클래스와 달리 equals()를 필드의 값을 모두 비교하도록 구현하였으며, 또한 getter, hashCode(), toString() 등의 메소드를 자동으로 구현해줍니다.
• 자바 14부터 추가된 레코드(Record)는 데이터를 담는 용도로 사용되는 클래스를 간결하게 작성할 수 있게 해주는 기능으로, 불변성을 가지며, 자동으로 생성자, getter, equals, hashCode, toString 메소드를 생성해준다. 또한, 컴팩트 생성자를 통해 표준 생성자와 함께 실행되는 코드를 작성할 수 있으며, 이를 통해 유효성 검사 등을 수행할 수 있다.
• 레코드는 자바빈즈 API 명세서에서 제공하는 get~ 접두사를 사용하지 않고, 필드명과 동일한 getter를 생성하며, 자바 17부터는 언어 차원에서 리플렉션을 사용한 필드 조작을 방지하여 레코드의 불변성을 강화하였다.

북마크
공유하기
신고하기