Programming Language/Java

[Java] Lombok 제대로 알아보기

  • -

롬복이란?

롬복은 자바에서 클래스를 작성을 간결하게 할 수 있도록

어노테이션(annotations)을 이용하여 자동으로 Getter, Setter, Constructor 등의 메서드를 생성하는 라이브러리 입니다.

롬복은 컴파일 과정에서 어노테이션을 통해 메서드를 생성합니다.

다양한 사용 예시

@Getter와 @Setter

필드의 게터와 세터를 생성합니다.

import lombok.Getter;
import lombok.Setter;

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

@ToString

클래스의 toString 메서드를 생성합니다.

import lombok.ToString;

@ToString
public class Person {
    private String name;
    private int age;
}

@EqualsAndHashCode

필드를 기반으로 equals와 hashCode 메서드를 생성합니다.

 

import lombok.EqualsAndHashCode;

@EqualsAndHashCode
public class Person {
    private String name;
    private int age;
}

@NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor

각각 파라미터가 없는 생성자, 모든 필드를 파라미터로 받는 생성자와 초기화 되지 않은 final 필드처럼 필수적인 필드를 인수로 하는 생성자를 생성합니다.

import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;

@NoArgsConstructor
@AllArgsConstructor
@RequiredArgsConstructor
public class Person {
    private String name;
    private int age;
    @NonNull // 필수 생성
    private String email;
}

@Data

이 어노테이션은 @Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor를 모두 표기한 것과 같습니다.

import lombok.Data;

@Data
public class Person {
    private String name;
    private int age;
}

@Builder

빌드 어노테이션은 앞서 소개한 어노테이션과 다르게

생성자의 가독성을 높힌 빌드 패턴을 사용할 수 있는 어노테이션입니다.

 

import lombok.Builder;

@Builder
public class Person {
    private String name;
    private int age;
}

// 빌드패턴 사용
Person person = Person.builder()
    .name("John")
    .age(30)
    .build();

.필드명(값)으로 인자의 순서를 몰라도 필드 이름으로 생성자에 값을 넘길 수 있습니다.

예시 코드보다 필드가 더 많을 때 유용하게 사용되니 꼭 알아두시는 것을 추천드립니다.

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.