[Lombok] - 자바 개발자를 위한 필수 라이브러리

2024. 12. 19. 15:44·Java/Lombok
728x90
반응형

자바로 프로젝트를 개발하다 보면 반복적인 코드 작성이 불가피합니다. 예를 들어, Getter/Setter, toString(), equals(), hashCode(), 생성자 등 많은 보일러플레이트(boilerplate) 코드가 자바 클래스에 추가됩니다.

 

이런 반복 작업을 줄이고 개발 생산성을 높이기 위해 등장한 것이 바로 Lombok입니다.

1. what is Lombok?

Lombok은 자바에서 보일러플레이트 코드를 줄이기 위한 라이브러리입니다.
애노테이션을 사용하여 자바 클래스에서 반복적으로 작성해야 하는 코드를 컴파일 시 자동으로 생성합니다.
이를 통해 코드의 가독성을 높이고, 유지보수를 쉽게 할 수 있습니다.

 

※ 주요 특징

  • 코드 간소화: 반복적으로 작성하던 코드를 자동 생성.
  • 가독성 향상: 클래스에 핵심 로직만 남겨 코드를 깔끔하게 유지.
  • 생산성 증가: 개발시간 절약.

2. Main Annotations Of Lombok

 

1) @Getter와 @Setter: 클래스의 필드에 대한 Getter와 Setter 메서드를 자동 생성합니다

import lombok.Getter;
import lombok.Setter;

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

 

위 코드의 결과는 다음과 같습니다.

public class User {
    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;
    }
}

 

2) @ToString: 클래스의 toString() 메서드를 자동으로 생성합니다.

import lombok.ToString;

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

 

위 코드의 결과는 다음과 같습니다.

public String toString() {
    return "User(name=" + this.name + ", age=" + this.age + ")";
}

 

3) @EqualsAndHashCode: equals()와 hashcode() 메서드를 자동 생성합니다.

import lombok.EqualsAndHashCode;

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

 

4) @NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor : 생성자 자동 생성에 사용됩니다.

  • @NoArgsConstructor: 기본 생성자 생성.
  • @AllArgsConstructor: 모든 필드를 포함하는 생성자 생성
  • @RequiredArgsConstructor: final 또는 @NonNull이 붙은 필드만 포함하는 생성자 생성.
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor;

@NoArgsConstructor
@AllArgsConstructor
@RequiredArgsConstructor
public class User {
    private final String name;
    private int age;
}

 

 

5) @Data: @Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor를 한 번에 처리합니다.

import lombok.Data;

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

 

6) @Builder: 빌더 패턴을 자동 생성합니다.

import lombok.Builder;

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

 

사용예시 입니다

User user = User.builder()
                .name("John")
                .age(25)
                .build();

 

 

감사합니다.

 

728x90
반응형

'Java > Lombok' 카테고리의 다른 글

[Lombok] lombok 적용하기(인텔리제이)  (1) 2023.12.25
'Java/Lombok' 카테고리의 다른 글
  • [Lombok] lombok 적용하기(인텔리제이)
JongTachi
JongTachi
    반응형
  • JongTachi
    JongTachi의 개발 블로그
    JongTachi
  • 전체
    오늘
    어제
    • 분류 전체보기 (165)
      • Network (10)
      • Server (19)
        • Web (12)
        • WAS (6)
      • Java (8)
        • JVM (1)
        • Java Syntax (16)
        • IDE (5)
        • Lombok (2)
        • Util (1)
      • FrameWork (8)
        • Spring&SpringBoot (4)
        • MyBatis (4)
      • JSP (3)
      • JavaScript (12)
        • jQuery (3)
        • JSON (3)
      • APM (1)
      • Android (5)
      • VCS(Version Control System) (5)
        • Git (4)
        • SVN (1)
      • IT_Tools (15)
        • Jenkins (2)
        • MobaXterm (2)
        • Jeus (1)
        • DBeaver (3)
      • Certificate (1)
      • Linux (3)
      • DB (14)
        • MariaDB (0)
        • Oracle (8)
        • Redis (2)
      • IT Information (21)
      • Text Editor (2)
        • NotePad (2)
      • 비밀의방 (0)
      • 헬파티 여행 (2)
      • 경제 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    mybatis
    SQL
    보안
    Eclipse
    이클립스
    톰캣
    git
    db
    JQuery
    DBeaver
    Javascript
    HTTP
    자바스크립트
    Server
    디비버
    svn
    마이바티스
    Redis
    Web
    자바
    IntelliJ
    Linux
    oracle
    JSON
    java
    오라클
    상태코드
    인텔리제이
    WAS
    Tomcat
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
JongTachi
[Lombok] - 자바 개발자를 위한 필수 라이브러리
상단으로

티스토리툴바