[Spring] AllArgsConstructor, NoArgsConstructor 기능과 차이점
Lombok이라는 Java 라이브러리에서 제공하는 어노테이션, 자동으로 클래스의 생성자를 생성해주는 기능을 제공한다.
@AllArgsConstructor
모든 필드를 인자로 받는 생성자를 자동으로 생성해준다.
즉, 클래스의 모든 필드에 대한 인자를 받는 생성자가 자동으로 생성된다.
이를 통해 객체를 생성할 때 모든 필드 값을 한번에 설정할 수 있다.
@NoArgsConstructor
매개변수가 없는 기본 생성자를 자동으로 생성해준다.
이를 통해 객체를 생성할 때 인자를 전달하지 않아도 되며, 기본 생성자가 필요한 경우에 사용할 수 있다.
이 두 어노테이션을 사용하면, 일일이 생성자를 직접 작성할 필요 없이 Lombok이 자동으로 생성자를 생성해주기 때문에 코드의 중복을 줄이고 간결하게 작성할 수 있다.
주의할 점은, Lombok 어노테이션을 사용하려면 해당 라이브러리가 프로젝트의 의존성에 추가되어 있어야 한다.
참고
생성자란?
객체를 생성할 때 호출되는 특별한 메서드로, 클래스의 인스턴스를 초기화하기 위해 사용된다.
객체를 생성할 때 new 키워드와 함께 호출된다.
Lombok이란?
자바 개발을 간편하게 만들어주는 라이브러리로,
자동으로 코드를 생성해 주는 어노테이션을 제공한다.
@Getter, @Setter 어노테이션을 사용하면 클래스의 멤버 변수에 대한 Getter, Setter 메소드를 자동으로 생성할 수 있다.
댓글남기기