CWN(CHANGE WITH NEWS) - 자바의 기능 ′롬복 어노테이션′ 살펴보기

  • 흐림장수-10.5℃
  • 흐림서산-7.8℃
  • 맑음북창원-6.1℃
  • 흐림동두천-14.4℃
  • 맑음춘천-14.7℃
  • 흐림홍천-12.5℃
  • 맑음보은-10.7℃
  • 눈제주1.0℃
  • 맑음포항-6.9℃
  • 맑음거창-9.5℃
  • 맑음고흥-6.1℃
  • 흐림태백-13.0℃
  • 눈목포-3.5℃
  • 맑음강화-12.1℃
  • 맑음청주-10.7℃
  • 맑음의성-8.7℃
  • 맑음양평-11.5℃
  • 맑음대구-7.3℃
  • 맑음봉화-12.0℃
  • 흐림진도군-2.2℃
  • 구름많음보성군-5.4℃
  • 맑음통영-5.4℃
  • 맑음안동-10.2℃
  • 흐림인제-13.9℃
  • 흐림강진군-4.8℃
  • 맑음추풍령-10.2℃
  • 맑음의령군-11.6℃
  • 맑음구미-8.3℃
  • 흐림고산0.9℃
  • 맑음문경-11.0℃
  • 흐림정읍-7.9℃
  • 맑음수원-12.1℃
  • 맑음서울-12.0℃
  • 흐림철원-16.1℃
  • 흐림흑산도-0.6℃
  • 맑음청송군-10.6℃
  • 맑음산청-7.7℃
  • 맑음울산-6.8℃
  • 맑음영주-11.1℃
  • 맑음세종-10.2℃
  • 맑음전주-8.3℃
  • 맑음밀양-6.9℃
  • 맑음광주-7.0℃
  • 맑음순창군-7.4℃
  • 맑음영천-8.1℃
  • 맑음남해-5.6℃
  • 맑음강릉-8.8℃
  • 흐림장흥-5.3℃
  • 맑음거제-4.9℃
  • 흐림완도-3.5℃
  • 맑음울진-7.9℃
  • 흐림대관령-17.6℃
  • 흐림정선군-13.0℃
  • 맑음상주-9.4℃
  • 맑음서청주-12.3℃
  • 맑음남원-8.8℃
  • 맑음합천-6.6℃
  • 맑음부산-5.9℃
  • 맑음금산-9.2℃
  • 맑음속초-8.5℃
  • 맑음임실-8.9℃
  • 맑음진주-6.6℃
  • 맑음군산-8.1℃
  • 눈서귀포0.9℃
  • 맑음북강릉-9.8℃
  • 흐림고창-7.5℃
  • 맑음동해-7.0℃
  • 맑음북춘천-15.9℃
  • 맑음영덕-7.9℃
  • 맑음경주시-7.8℃
  • 맑음창원-5.9℃
  • 맑음파주-16.4℃
  • 흐림해남-4.2℃
  • 맑음김해시-6.8℃
  • 눈울릉도-4.1℃
  • 흐림성산-0.3℃
  • 맑음부여-7.9℃
  • 구름많음홍성-9.5℃
  • 흐림이천-12.3℃
  • 맑음영월-12.3℃
  • 맑음여수-5.9℃
  • 맑음함양군-7.5℃
  • 맑음인천-11.6℃
  • 흐림백령도-8.2℃
  • 맑음북부산-6.0℃
  • 맑음순천-8.1℃
  • 흐림영광군-7.5℃
  • 맑음광양시-6.2℃
  • 맑음충주-12.1℃
  • 흐림고창군-7.6℃
  • 흐림원주-12.9℃
  • 맑음양산시-4.9℃
  • 흐림부안-6.8℃
  • 구름많음보령-7.5℃
  • 맑음천안-11.4℃
  • 맑음제천-12.8℃
  • 구름조금대전-10.1℃
  • 2026.01.22 (목)

자바의 기능 '롬복 어노테이션' 살펴보기

박보명 / 기사승인 : 2021-02-17 02:04:59
  • -
  • +
  • 인쇄

어노테이션(Annotation)이란 자바 소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종을 말한다.

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

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

2. @NoArgsConstructor/@AllArgsConstructor/@RequiredArgsConstructor
생성자를 자동으로 생성해주는 어노테이션으로, @NoArgsConstructor는 파라미터(매개 변수)가 없는 기본 생성자를 생성한다. @AllArgsConstructor는 필드 값을 모두 포함한 생성자를 생성해준다. 또, @RequiredArgsConstructor는 final필드와 @NonNull 어노테이션이 붙은 필드에 대한 생성자를 생성하여 특정 변수만을 활용하는 생성자를 생성해 준다.

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

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

5. @Data
@Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor를 한번에 생성해준다.

사용 방법
롬복을 사용하지 않은 일반 자바 코드

@Getter/@Setter를 사용한 Java 코드

Getter/Setter를 직접 작성한 것과 같이 접근자와 설정자가 생성된 것을 볼 수 있다.

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0

Today

Hot Issue