Lombok에서 제공하는 어노테이션으로 굉장히 편안하다..👍
그러던 중에 무분별하게 사용하는 것같아 이번에 정리를 해둘려한다.
@AllArgsConstructor : 모든 필드 값을 파라미터로 받는 생성자를 생성
@NoArgsConstructor : 파라미터가 없는 디폴트 생성자를 생성
@RequiredArgsConstructor : final이나 @NonNull으로 선언된 필드만을 파라미터로 받는 생성자를 생성
아래 코드를 통해 자세히 살펴본다.
@AllArgsConstructor
클래스의 모든 필드 값을 파라미터로 받는 생성자를 자동으로 생성한다.
이 어노테이션을 사용하면, 클래스의 모든 필드를 한 번에 초기화할 수 있다.
@AllArgsConstructor
public class Person {
private String name;
private int age;
}
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
@NoArgsConstructor
파라미터가 없는 디폴트 생성자를 자동으로 생성한다.
이 어노테이션을 사용하면 클래스에 명시적으로 선언된 생성자가 없더라도 인스턴스를 생성할 수 있다.
@NoArgsConstructor
public class Person {
private String name;
private int age;
}
public class Person {
private String name;
private int age;
public Person(){}
}
@RequiredArgsConstructor
final이나 @NonNull으로 선언된 필드만을 파라미터로 받는 생성자를 자동으로 생성한다.이 어노테이션을 사용하면 클래스가 의존하는 필드를 간단하게 초기화할 수 있다.
@RequiredArgsConstructor
public class Person {
private final String name;
private final int age;
private String address;
}
public class Person {
private final String name;
private final int age;
private String address;
public Person(final String name, final int age) {
this.name = name;
this.age = age;
}
}
'⚙️ 개발 > Spring' 카테고리의 다른 글
파라미터 정리 (0) | 2024.08.21 |
---|---|
Security (0) | 2024.07.03 |
로그인 인증 (Session/Cookie, Token, OAuth, SNS) (0) | 2024.06.18 |
@Configuration (0) | 2024.06.14 |
로드 밸런싱 (Load Balancing), 세션 클러스터링 (Session Clustering) (0) | 2024.06.13 |