반응형
Lombok Annotation 정리
Lombok 라이브러리에서 제공하는 Annotation 중 가장 많이 사용되는 Annotation을 정리해보았습니다.
@Getter
@Setter
@ToString
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class User {
private int id;
private String name;
private int age;
private String address;
@Setter(AccessLevel.PROTECTED)
private int grade;
public void setGrade(int grade) {
this.grade = grade;
}
}
@Getter : get메서드를 자동으로 정의합니다.
@Setter : set메서드를 자동으로 정의합니다.
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
User user = new User();
user.setName("Alt");
user.setId(100);
user.setAddress("Home");
user.setGrade(80);
user.setAge(20);
System.out.println(user.toString());
}
}
@ToString : 현재 클래스 내에 정의된 멤버변수들의 값을 출력해줍니다.
출력결과
@AllArgsConstructor : 현재 클래스 내에 정의된 멤버변수 들이 모두 포함된 생성자를 정의합니다.
@NoArgsConstructor : 멤버변수를 갖지 않는 생성자를 정의합니다.
@Builder : 빌더 패턴으로 클래스를 생성합니다.
public class Main {
public static void main(String[] args) {
User buildUser = User.builder().name("Blue").id(200).address("School").grade(90).age(25).build();
System.out.println(buildUser.toString());
}
}
출력 결과
@RequiredArgsConstructor : 특정 매개변수만을 받는 생성자를 정의합니다. 이때 생성자에 포함시킬 매개변수 위에 @NonNull 어노테이션을 추가해야 합니다.
@RequiredArgsConstructor
@ToString
public class Book {
@NonNull private String name;
@NonNull private String author;
@NonNull private int prise;
private String page;
}
public static void main(String[] args) {
Book book = new Book("time", "jwk", 9000);
System.out.println(book.toString());
}
@NonNull을 추가하지 않은 page 멤버변수는 null값으로 초기화 된 것을 확인할 수 있습니다.
반응형
'Java > 순수 Java' 카테고리의 다른 글
[Java] Birt Project 사용방법 (0) | 2021.11.04 |
---|---|
[Java] Java Modbus 사용법(JLibModbus) (0) | 2021.02.16 |
[Java] Lombok Setter Custom (0) | 2020.09.07 |
[Java] Lombok 설치 방법 (0) | 2020.09.07 |
[Java] 자바 코드 실행시간 측정 방법 (1) | 2020.05.27 |