롬복 @All/NoArgsConstructor 제대로 알고 사용해보자.
문득 전 회사 레거시 코드를 생각하다가 @AllArgsConstructor, @NoArgsConstructor 등 여러 어노테이션이 한클래스에 같이 작성되어있는 것을 본적이있다.Lombok은 불필요한 코드와 작업을 줄여주는 좋은 라
velog.io
@NoArgsConstructor
public class Person {
private String name;
private int age;
// getters and setters
}
public class Person {
private String name;
private int age;
public Person(){}
}
@AllArgsConstructor
public class Person {
private String name;
private int age;
// getters and setters
}
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
@RequiredArgsConstructor
public class Person {
private final String name;
private final int age;
private String address;
// getters and setters
}
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;
}
}
access 옵션엔 다음과 같은 접근제어자가 있다.
PUBLIC: 기본값이며, 모든 클래스에서 생성자에 접근 가능
PROTECTED: 같은 패키지의 클래스와 상속받은 클래스에서 생성자에 접근 가능
PACKAGE: 같은 패키지의 클래스에서 생성자에 접근 가능
PRIVATE: 해당 클래스 내부에서만 생성자에 접근 가능
이 외에도 NONE과 MODULE 접근 제어자가 있지만, 일반적으로 사용하지 않는다.
'Spring > @annotation' 카테고리의 다른 글
@CreatedDate vs @LastModifiedDate (0) | 2024.05.27 |
---|---|
@EnableJpaAuditing (0) | 2024.05.27 |
@Vaild (0) | 2024.01.21 |
@Resource (1) | 2024.01.21 |
@OneToOne (0) | 2024.01.16 |