본문 바로가기
카테고리 없음

[Java] Project Lombok Annotations (프로젝트 롬복 어노테이션)

by 꼬마낙타 2019. 9. 24.
반응형

스프링 프레임워크 책을 읽다가 프로젝트 롬복(Project Lombok)에 대해서 알게 되었다.

 

프로젝트 롬복(Project Lombok) 

프로젝트 롬복(Project Lombok)은 자바로 작성된 소스코드를 좀 더 간결하게 만들어 주기 위해 만들어진 프로젝트다. 최신 자바 버전에서는 점점 나아지고 있지만 자바의 가장 큰 문제점은 소스코드에 군더더기가 너무 많다는 점이다.

 

Student 클래스를 자바로 작성해보자. 

 

public class Student {

    private final int id;

    private final String name;

    private final int age;

    private final String department;

    public Student(int id, String name, int age, String department) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.department = department;
    }
    
    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }
    
    public int getAge() {
        return age;
    }

    public String getDepartment() {
        return department;
    }
}

 

Student 클래스의 멤버 변수들이 하나씩 추가될 때마다, getter/setter 메소드들이 추가되고, 생성자(Constructor)에도 멤버 변수들을 추가해야 한다. 단순히 멤버 변수의 값을 설정하고, 읽어오는 동작들을 위해서 너무 많은 코드들이 추가된다. 

 

물론 IDE에서 자동으로 getter/setter 메소드들을 생성해주는 기능이 있어서 매번 코드를 입력하지는 않겠지만 너무 많은 양의 코드때문에 가독성이 떨어지고 정작 중요한 비즈니스 로직이 한눈에 잘 안들어온다는 문제가 있다.

 

이런 자바의 단점을 해소하기 위해서 프로젝트 롬복(Project Lombok)이 생겼다. 롬복 어노테이션을 이용해서 Student 클래스를 다시 정의해보자.

 

import lombok.Data;

@Data
public class Student {

    private final int id;

    private final String name;

    private final int age;

    private final String department;
}

 

클래스 정의 코드 위에 '@Data' 어노테이션을 추가했을 뿐 별다른 메소드와 생성자 정의가 없다. 하지만 프로젝트의 다른 곳에서 Student 코드를 사용할 때 getter 메소드와 생성자를 사용할 수 있다. 개발자가 명시적으로 추가한 메소드가 아니지만 Lombok 어노테이션에 맞게 자동으로 추가된 메소드를 사용할 수 있게 되었다.

 

Project Lombok Maven Dependency

프로젝트 롬복을 사용하기 위해서 다음과 같은 메이븐 Dependency를 추가해야한다. 

 

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <!--버전은 상황에 맞게-->
    <version>1.16.10</version> 
</dependency>

 

Lombok 어노테이션들

프로젝트 롬복(Project Lombok)은 '@Data' 어노테이션 이외에도 다양한 어노테이션들을 지원한다. 하나하나를 나열하기보다는 링크를 따라가서 확인하면 된다. 

 

링크 :  https://projectlombok.org/features/all

 

IntelliJ IDEA에서 Lombok Plugin 설치

IntelliJ에서 Lombok을 사용하기 위해서는 플러그인을 설치해야 한다.

플러그인을 설치하지 않으면 Lombok 어노테이션을 알아먹지 못한다.

 

MacOS 사용자의 경우 [Preference]를 들어간다. (윈도우 사용자의 경우 File - Setting)

"Plugins"를 선택한다.

"Marketplace" 탭을 선택하고, "Lombok"을 검색하면 플러그인을 설치할 수 있는 창이 나온다. Install 버튼을 눌러서 플러그인 설치를 시작한다.

설치가 끝나면 Restart IDE 버튼을 눌러서 IntelliJ를 재시작한다.

 

정상적으로 동작한다.

반응형

댓글