HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🛁
공부기록
/
♣️
롬복이란?
♣️

롬복이란?

속성
Sep 7, 2021
  • * https://mangkyu.tistory.com/78 님의 게시글을 보며 학습하였습니다. **

LomBok - 어노테이션을 통해서 코드를 자동 완성해주는 라이브러리

  1. Getter, Setter, 생성자 등 다양한 어노테이션을 제공해 주기 때문에 코드의 라인 수를 줄일 수 있다.

LomBok 이 제공하는 기능

  • @Getter / @Setter : 클래스의 모든 변수에 Getter / Setter 를 자동으로 만들어 준다.
@Getter // 클래스 위에 어노테이션을 사용하면 모든 변수에 Getter가 생성된다. public class LomBokEx { private Long id; @Setter // 변수 위에 어노테이션을 사용하면 해당 변수에만 Setterr가 생성된다. private String name; }
  • @AllArgsConstructor : 클래스의 모든 변수를 포함한 생성자를 만들어주는 어노테이션이다.
@AllArgsConstructor public class LomBokEx { private Long id; private String name; /* @AllArgsConstructor 를 이용하면 따로 작성해줄 필요가 없다. public LomBokEx(Long id, String name) { this.id = id; this.name = name; } */ }
  • @NoArgsConstructor : 아무것도 포함하지 않은 기본 생성자를 만들어주는 어노테이션이다.
@NoArgsConstructor public class LomBokEx { private Long id; private String name; /* @NoArgsConstructor 를 이용하면 따로 작성해줄 필요가 없다. public LomBokEx() {} */ }
  • @RequiredArgsConstructor : 필수로 받아야 하는 특정한 변수를 포함한 생성자를 만들어 주는 어노테이션이다. 클래스를 만들 때 @NonNull 어노테이션을 변수에 붙이거나 final 키워드를 이용하면 자동으로 만들어준다.
@RequiredArgsConstructor public class LomBokEx { private final Long id; private final String name; private String email; /* @RequiredArgsConstructor 를 이용하면 @NonNull 또는 final 키워드를 붙은 변수를 포함한 생성자를 자동으로 만들어준다. public LomBokEx(Long id, String name) { this.id = id; this.name = name; } */ }
  • @EqualsAndHashCode : equals, hashcode 함수를 자동으로 생성해주는 어노테이션이다. 객체를 판단하고 싶을 때 사용한다.
@EqualsAndHashCode("id","name") public class LomBokEx { private final Long id; private final String name; private String email; public static void main(String args[]) { // 같은 객체로 인식 LomBokEx ex1 = new LombokEx(1L,"name1"); LomBokEx ex2 = new LombokEx(1L,"name1"); // 다른객체 LomBokEx ex3 = new LombokEx(150L,"name150"); } }
  • @ToString : 클래스의 모든 변수를 포함한 toString 메소드를 자동으로 만들어준다.
@ToString public class LomBokEx { private Long id; private String name; /* toSTring 메소드를 자동으로 만들어준다. public String toString() { return "LomBokEx{" + "id=" + id + ", name='" + name + '\\'' + '}'; } */ }
  • @Data : Getter / Setter / ToString / EqualsAndHashCode / RequiredArgsConstructor 어노테이션을 모두 만들어주는 어노테이션이다.
  • @Builder : 클래스의 객채를 생성할 때 빌더 패턴을 적용할 수 있도록 해준다. 생성자에 담을 변수가 많을 경우에는 빌더패턴을 이용하면 가독성이 더욱 높아지는 효과가 있다.
@Data @Builder public class LomBokEx { private final Long id; private final String name; private final String email; public static void main(String args[]) { LomBokEx ex1 = LomBokEx.builder() .id(1L) .name("name1") .build(); // @Data 어노테이션을 이용했기 때문에 getter 자동으로 생성 System.out.println(ex1.getName()); } }
  • @Delegate : 객체의 메소드를 다른 객체로 위임시켜주는 기능이다.