Java record 관련 참고할만한 글
https://www.baeldung.com/java-record-keyword -> 기본적으로 설명 잘 되어 있음.
https://colevelup.tistory.com/28 -> compact constructor 설명 존재, record class 제약 사항 존재.
간단히 말해 Java의 record
는 단순 data 보존 목적을 위해 사용되는 immutable class를 boilerplate 코드 없이, 그 의도를 명확히 알 수 있는 형식으로 짜기 위해 사용되는 키워드다. (JDK 14부터 제공)
위의 용도로 사용되기 위해 우리가 설정해야 하는 것들 (생성자, getter, equals, hashCode, toString 등)을 자동으로 생성해준다.
기본으로 생성되는것 말고도 추가 생성자를 만들거나, static 변수/메서드 형성도 가능.
추가로 정의하는 생성자는 의도상 과하게 복잡하지 않는게 좋으며
compact constructor이랑 기본 생성자랑 같은 꼴의 생성자를 동시에 정의하는건 안된다는 점 유의.
제약 사항은 위의 티스토리 블로그 참고.