본문 바로가기

Programming/기초지식

[Lombok] 생성자를 만드는데 사용되는 Lombok 어노테이션

반응형
@NoArgsConstructor
  • No Argument Constructor, 파라미터가 없는 생성자를 만든다.('인수'라고 해야할지, '파라미터'라고 해야할지..)
  • 만약 필드가 final로 설정되어 있는 경우 컴파일러 에러가 발생한다. 필드가 final로 설정되어 있는 경우@NoArgsConstructor(force = true)옵션을 사용하면 final 필드를 0,false,null 등으로 강제 초기화를 하여 생성자를 만들 수 있다.
@NoArgsConstructor
public class Employee {

    private String name;
    private int salary;
}
public class Employee {

    private String name;
    private int salary;

    // 인수 없는 생성자가 생성되었다.
    public Employee() { 
    }
}

@RequiredArgsConstructor
  • final 필드 또는 @NonNull이 적용된 필드에 대한 인수가 포함된 생성자를 생성한다.
@RequiredArgsConstructor
public class Employee {

    private final String name;
    private int salary;
}
public class Employee {

    private final String name;
    private int salary;

    // final 필드 인수만 적용된 생성자
    public Employee(String name) {
        this.name = name;
    }
}

@AllArgsConstructor
  • 모든 필드에 대한 생성자를 생성한다.
  • 이 어노테이션으로 생성자를 생성할 때 모든 필드값이 적용되어야 한다.
@AllArgsConstructor
public class Employee {

    private String name;
    private int salary;
}
public class Employee {

    private String name;
    private int salary;
    
    // 모든 필드값이 적용된 생성자
    public Employee(String name, int salary) {
        this.name = name;
        this.salary = salary;
    }
}

참고

@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor (projectlombok.org)

 

@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor

 

projectlombok.org

http://www.javabyexamples.com/delombok-allargsconstructor-noargsconstructor-and-requiredargsconstructor

 

Home | Java By Examples

1. Overview In this tutorial, we'll look at the Lombok @AllArgsConstructor, @NoArgsConstructor, and @RequiredArgsConstructor annotations. When we use these annotations, Lombok generates the constructors automatically for us. 2. @AllArgsConstructor For Al

www.javabyexamples.com

반응형