TIL

Lombok

haseung22 2024. 9. 27. 19:41

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;
    }
}

 

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