Lombok

2024. 9. 27. 19:41·TIL

Lombok이란?

자바 개발 시 반복적으로 작성해야하는 코드는 개발자의 생산성을 저하시키는 요인 중 하나이다.

롬북(Lombok)은 이러한 문제를 해결하기 위해 등장한 라이브러리로,

어노테이션을 사용하여 자동으로 코드를 생성해주는 기능을 제공한다.

 

Lombok  자주 사용하는 어노테이션

@Getter

@Getter
public class Memo {
    private String username;
    private String contents;
}

// @Get어노테이션을 사용하면
// 아래처럼 get() 메서드를 자동으로 추가
public class Memo{
	private String username;
    private String contents;
    
    public String getUserName(){}
    public String getContents(){}
}

 

@Setter

@Setter
public class Memo {
    private String username;
    private String contents;
}

... 
//@Setter는 set() 메서드들을 추가해준다.
public void setUsername(String username) {
    this.username = username;
}

public void setContents(String contents) {
    this.contents = contents;
}

 

@AllArgsConstructor, @NoArgsConstructor

// 기본 생성자와 모든 필드를 파라미터로 가진 오버로딩된 생성자를 만들어준다.
@NoArgsConstructor
@AllArgsConstructor
public class Memo {
    private String username;
    private String contents;
}

...

public Memo() {
}

public Memo(String username, String contents) {
    this.username = username;
    this.contents = contents;
}

 

@RequiredArgsConstructor

// final 제어자가 붙은 필드를 파라미터로 가진 오버로딩된 생성자를 만들어준다.
@RequiredArgsConstructor
public class Memo {
    private final Calculator calculator;
    private final String username;
    private String contents;
}

...

public Memo(Calculator calculator, String username) {
    this.calculator = calculator;
    this.username = username;
}

 

@ToString

이름 그대로 toString()을 자동으로 생성해주는 어노테이션이다.

class toString{
	private String name;
    
    @Override
    public String toString(){
    	return this.name;
    }
}

 

이외에도 다양한 어노테이션들을 활용할 수 있습니다.

 

 

 

 

'TIL' 카테고리의 다른 글

ResponseEntity  (0) 2024.10.04
Spring MVC 구조 이해하기  (1) 2024.10.01
Request와 Response  (0) 2024.09.27
Database - DBMS, SQL  (1) 2024.09.26
SRP - 단일 책임 원칙  (2) 2024.09.25
'TIL' 카테고리의 다른 글
  • ResponseEntity
  • Spring MVC 구조 이해하기
  • Request와 Response
  • Database - DBMS, SQL
haseung22
haseung22
haseung22 의 블로그 입니다.
  • haseung22
    haseung22의 블로그
    haseung22
  • 전체
    오늘
    어제
    • 분류 전체보기 (56)
      • TIL (39)
      • 프로그래머스 (8)
      • 프로젝트 (5)
      • 면접 대비 (4)
        • 자료구조 (3)
        • Java (1)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    Spring Boot
    til
    JPA
    프로그래머스
    자료구조
    뉴스피드
    티스토리챌린지
    docker
    Spring
    리팩토링
    회고
    계산기
    내배캠
    오블완
    팀 프로젝트
    java
    공부
    querydsl
    과제
    알고리즘
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
haseung22
Lombok
상단으로

티스토리툴바