본문 바로가기

Spring&IntelliJ

알기쉽게 정리한 @NoArgsConstructor @RequiredArgsConstructor @AllArgsConstructor

 

롬복을 사용하면 깔끔하게 getter, setter , 생성자 등등 만들어준다!

근데 잘 모르고 사용하다 보면 에러가 발생할 수 있음. 주의하자.

@NoArgsConstructor
@RequiredArgsConstructor
@AllArgsConstructor
public class Board {
    @NotNull
    private Long idx;
    private String content;
}

 

@NoArgsConstructor

기본 생성자를 생성해준다.

이 경우 초기값 세팅이 필요한 final 변수가 있을 경우 컴파일 에러가 발생함으로 주의한다.

@NoArgsConstructor(force=true) 를 사용하면 null, 0 등 기본 값으로 초기화 된다.

Board board = new Board();

 

 

@RequiredArgsConstructor

final 변수, Notnull 표시가 된 변수처럼 필수적인 정보를 세팅하는 생성자를 만들어준다.

Board board = new Board(2L);

 

 

@AllArgsConstructor

전체 변수를 생성하는 생성자를 만들어준다.

Board board = new Board(2L, "content value");

 

이 글을 읽은 후 반드시 아래 포스트 읽기. 이해하기 쉽고 유용함

https://velog.io/@code-10/%EB%A1%AC%EB%B3%B5-AllNoArgsConstructor-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EC%95%8C%EA%B3%A0-%EC%82%AC%EC%9A%A9%ED%95%B4%EB%B3%B4%EC%9E%90