lombok(롬복)
롬복(Lombok)
롬복은 자바개발에서 반복적이고 지루한 코드를 줄이고 개발자의 생산성을 향상시키기 위한 라이브러리이다. 롬복은 어노테이션 기반으로 동작한다.
롬복의 주요 기능은 다음과 같다.
- @Getter/@Setter: 프로퍼티에대한 getter와 setter메서드를 자동으로 생성해준다. (@Setter는 데이터의 불변성을위해 사용을 자제해야한다.)
- @ToString: toString() 메서드를 자동으로 생성하여 객체 프로퍼티에 대한 정보를 문자열로 표시해준다.
- @NoArgsConstructor / @RequiredArgsConstructor /@AllArgsConstructor: 생성자를 자동으로 생성해준다. 차례대로 ‘기본생성자’, ‘필수 매개변수(final) 생성자’, ‘모든 필드를 매개변수 생성자’ 를 생성한다.
- @Data: @Getter, @Setter, @ToString, @EqualsAndHashCode를 한번에 사용할 수 있는 어노테이션이다.
장점
개발자의 생산성을 향상시킬 수 있다.
단점
코드가독성 감소: 롬복 사용시 어노테이션에 대한 이해가 없으면 코드를 이해하기위한 시간이 늘어난다.
어노테이션 오용: @AllArgsConstructor 과 같이 모든 필드를 생성하는 어노테이션은 필요없는 필드마저 생성자의 매개변수로 생성되는 일과 같이 오용이 일어날 수 있다.
따라서, 롬복을 적절하게 사용한다면 개발 시간을 단축 할 수 있다.