Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

JustDoEat

[어노테이션/lombok] @Data, @RequiredArgsConstructor 본문

카테고리 없음

[어노테이션/lombok] @Data, @RequiredArgsConstructor

kingmusung 2023. 11. 11. 21:43
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로 선언을 안했으므로