본문 바로가기
Computer Science/General

@Lombok(롬복)기능 살펴보기

by 추천캐릭터 2022. 11. 2.
728x90
// 롬복 설정
configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

depencencies {
    // 롬복 라이브러리 추가
    annotationProcessor 'org.projectlombok:lombok'

    // 테스트에서 lombok 사용
    testCompileOnly 'org.projectlombok:lombok'
    testAnnotationProcessor 'org.projectlombok:lombok'
}

롬복 어노테이션(Lombok Annotation)은 어노테이션 기반으로 코드를 자동완성 해 주는 라이브러리다. 롬복을 사용하면 getter / setter처럼 반복되는 메서드의 작성 코드를 줄임으로서 코드의 가독성을 높일수 있다.

 

● @Getter / @Setter

특정 필드 위에서 어노테이션을 붙여주면, 자동을 생성된 접근자와 설정자 메소드를 사용할 수 있다. 클래스 위에 붙여주는 경우에는 모든 필드에 접근자와 설정자가 자동으로 생성된다.

@NoArgsConstructor / @AllArgsConstructor / @RequiredArgsConstructor

생성자를 자동으로 생성해주는 어노테이션으로, @NoArgsConstructor는 기본 생성자를 생성한다. @AllArgsConstructor는 필드 값을 모두 포함한 생성자를 생성한다. 또, @RequiredArgsConstructor는 final필드와 @NonNull 어노테이션이 붙은 필드에 대한 생성자를 생성하여 특정 변수만을 활용하는 생성자를 생성한다.

@ToString

필드를 기반으로 ToString 메소드를 자동생성하며, 클래스명 (필드1 이름 = 필드1 값, 필드2 이름 = 필드 2값)으로 출력된다. @ToString(exclude = "필드명")을 사용 원하지 않는 필드는 제외할 수 있다.

@EqualsAndHashCode

Equals와 hashCode 메소드를 자동으로 생성해 주며, callSuper를 사용해 메소드 자동 생성 시 부모클래스의 필드까지 고려할 것인지를 설정할 수 있다. callSuper = true이면 부모 클래스 필드 값도 동일한지 고려한다. false 기본 값이며 자신의 클래스의 필드 값만 고려한다.

@Data

@Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor를 한번에 생성한다.

http://www.codingworldnews.com/news/articleView.html?idxno=2397 

 

자바의 기능 '롬복 어노테이션' 살펴보기 - 코딩월드뉴스

어노테이션(Annotation)이란 자바 소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종을 말한다.롬복 어노테이션(Lombok Annotation)은 어노테이션 기반으로 코드를 자동완성 해주는 라이브러리이

www.codingworldnews.com

 

728x90

'Computer Science > General' 카테고리의 다른 글

CSR vs SSR 특징 및 차이  (0) 2022.10.27

댓글