자라나라 개발머리

[Java] 롬복(Lombok)/애노테이션 프로세서(Annotation Processors) 사용법 및 정리 본문

Java

[Java] 롬복(Lombok)/애노테이션 프로세서(Annotation Processors) 사용법 및 정리

iammindy 2023. 2. 27. 15:51

롬복(Lombok)이란?

자바의 라이브러리 중 하나. 애노테이션 프로세서를 사용하여 반복되는 코드를 줄여주는 편리한 라이브러리다.

 

애노테이션 프로세서(Annotation processors)란?

코드의 애노테이션(ex. @Xxxx)을 보고 파일이 컴파일 되는 시점에 코드를 생성해주는 기능

직접 애노테이션 프로세서를 만들 수도 있음.

 

실습

 

사전 세팅

의존성 추가

dependencies {
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'
	testCompileOnly 'org.projectlombok:lombok'
	testAnnotationProcessor 'org.projectlombok:lombok'
}

 

IntelliJ 세팅

File - Settings - Annotation Processors 검색 - Enable annotation processing 체크 - OK 클릭

 

코드

기존 코드

package hello.core.lombok;

public class model {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

 

롬복 사용 코드

package hello.core.lombok;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class model {
    private String name;
    private int age;
}

 

훠어어얼씬 간결해졌다

 

자주 사용되는 롬복 애노테이션

 

@Getter //getter 생성
@Setter //setter 생성
@ToString //모든 필드에 관한 스트링을 만들어 줌
@NoArgsConstructor //파라미터X, 기본생성자
@RequiredArgsConstructor //final, @NonNull 필드 값만 파라미터로 받음
@AllArgsConstructor //모든 필드를 파라미터로 받음
@Data //Getter, Setter, ToString, RequiredArgsConstructor 등 모든 애노테이션 합체