Java Record class

sycho·2024년 1월 3일
0

Java

목록 보기
16/18
  • 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 형태이거나
    • 그냥 일반 생성자 형태. 이 때 기본 생성자처럼 모든 field value를 parameter로 받는 생성자 설정도 가능하나, 각 field를 수동으로 할당해야만 제대로 동작을 하게 된다.
  • compact constructor이랑 기본 생성자랑 같은 꼴의 생성자를 동시에 정의하는건 안된다는 점 유의.

  • 제약 사항은 위의 티스토리 블로그 참고.

profile
안 흔하고 싶은 개발자. 관심 분야 : 임베디드/컴퓨터 시스템 및 아키텍처/웹/AI

0개의 댓글

Powered by GraphCDN, the GraphQL CDN