간단용어

Lombok

WOOKTAE 2021. 3. 11. 23:12

Lombok(롬북) 이란 ?

Java 라이브러리로 반복되는 Getter, Setter, toString 등의 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리입니다. 보통 Model 클래스나 Entity 같은  도메인 클래스 등에는 수많은 멤버변수가 있고 이에 대응되는 gettier 와 setter 그리고 toString() 메서드 그리고 때에 따라서는 멤버변수에 따른 여러개의 생성자를 만들어주게 되는데, 거의 대부분 이클립스같은 IDE의 힘만으로 생성한다고 하지만 이 역시도 번거로운 작업이 될 수 있습니다. 뿐만 아니라 코드 자체가 반복되는 메서드로 인해 매우 복잡해지게 됩니다. 

Lombok 은 여러가지 어노테이션은 제공하고 이를 기반으로 코드를 컴파일과정에서 생성해 주는 방식으로 동작하는 라이브러리입니다. 즉 코딩 과정에서는 롬복과 관련된 어노테이션만 보이고 getter 와 setter 메서드 등은 보이지 않지만 실제로 컴파일된 결과물(.class)에는 코드가 생성되어 있다는 뜻입니다.

 

( Lombok -Java 기반에서 기계적 작성하는 VO, DTO, Entity 관련 작업을 보다 쉽게 해주는 도구 입니다. )

 

Lombok 사용시의 장점과 주의사항

롬북은 복잡하고 반복되는 코드가 줄어듦으로써 코드의 가독성을 높일 수 있고 코딩 생산성 또한 높일 수 있습니다. 다만 롬복이 개발자마다 호불호가 나뉘는 라이브러리로 특정 개발자들은 코드가 직접 눈에 보임으로써 직관성을 유지하는것이 좋다고 보는 의견도 있다. 

 

Lombok 어노테이션

@Getter

@Setter

@ToString

@NoArgsConstructor

@AllAregsConstructor

 

 

@Getter, @Setter 에는 접근제한자를 설정할 수 있다.

만약 생성되는 getter/setter 에 명시적으로 AccessLevel 을 명시해 주지 않으면, 접근 제한자는 public 이 된다.

허용되는 access Level 들은 PUBLIC, PROTECTED, PACKAGE, PRIVATE 가 있다.