JustDoEat
[어노테이션/lombok] @Data, @RequiredArgsConstructor 본문
package com.mysite.sbb.chattt;
import lombok.Data;
import lombok.RequiredArgsConstructor;
@Data
@RequiredArgsConstructor
public class Person {
private final String name;
private final int age;
private String address; //final로 선언을 안해서 자동으로 생성자가 생성되지는 않음.
}
class test {
public static void main(String[] args) {
// @RequiredArgsConstructor로 생성된 생성자를 사용하여 객체 생성
Person person = new Person("김우성", 25);
// 값 출력
System.out.println("Name: " + person.getName());
System.out.println("Age: " + person.getAge());
System.out.println("Address: " + person.getAddress());
}
}
"@RequiredArgsConstructor" 는 간략하게 말하면 자동으로 생성자를 만들어주는 어노테이션이다.
한국어로 하면, 필수인자생성자이다.
import lombok.RequiredArgsConstructor;
Person person = new Person("김우성", 25);
특징.
따로 메서드를 선언하지 않아도 값이 자동으로 기입이 되어짐.
사용목적.
클래스에 필요한 인자들을 받아오는 생성자를 코드 작성 없이 자동으로 생성할 수 있습니다. 이를 통해 코드의 간결성과
가독성을 높일 수 있습니다.
"@Data"는 Getter,Setter를 자동으로 생성해주는 어노테이션.
import lombok.Data;
자바 공부했을때 캡슐화의 원칙으로 인해 인자에 직접 값을 넣지 않고 Getter,Setter매서드를 직접 만들어서 값을 넣곤했는데 이과정을 생략해주는 어노테이션이다.
System.out.println("Name: " + person.getName());
System.out.println("Age: " + person.getAge());
System.out.println("Address: " + person.getAddress());
출력결과.
Name: John
Age: 25
Address: null //Address를 final로 선언을 안했으므로