Compact Constructor

leverest96·2023년 7월 20일
0

Spring / Java

목록 보기
17/20
post-thumbnail

record class에 대해 알아보던 중 Compact Constructor에 대한 존재를 알게되었다.

Compact Constructor란?

record의 생성자가 클래스의 private 필드를 초기화하는 것보다 더 많은 행동을 하기를 원할 때 생성자를 커스텀할 수 있다. 이 때 Class Constructor와는 다르게 Compact Constructor는 일반적인 형식보다 더 간략하게 적을 수 있다.

Compact Constructor의 특징

  1. 파라미터를 작성하지 않아도 된다.
  2. 초기화 로직은 마지막에 자동으로 호출해준다.

간단한 예시를 알아보자.

public RecordCarsDto {  // 매개변수를 받는 부분이 생략됨
    if (Objects.isNull(values)) {
        values = new ArrayList<>();
    }
    if (Objects.isNull(speed)) {
        speed = 10;
    }
    // this.values = values; this.speed = speed; 와 같은 초기화 로직은 마지막에 자동으로 호출해줌.
}

아무래도 record 이외에서는 사용이 안되는 듯하다.
되더라도 잘 사용하지 않는 듯하다.

https://colour-my-memories-blue.tistory.com/18

profile
응애 난 애기 개발자

0개의 댓글