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

[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를 재시작한다.

 

정상적으로 동작한다.

반응형

댓글