Lombok은 자바 언어의 특정한 기능을 자동으로 생성해주는 라이브러리입니다. 이 문서는 Lombok 라이브러리의 사용 방법과 주요 기능들을 설명합니다.
설치 방법
Lombok은 일반적인 자바 라이브러리처럼, 빌드 도구에서 의존성을 추가하여 사용할 수 있습니다.
Maven
Maven을 사용하는 경우, pom.xml
에 다음 코드를 추가해 주세요.
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>{버전}</version>
<scope>provided</scope>
</dependency>
{버전}
부분에는 사용하고자 하는 Lombok 라이브러리의 버전을 입력해 주세요.
Gradle
Gradle을 사용하는 경우, build.gradle
에 다음 코드를 추가해 주세요.
compileOnly 'org.projectlombok:lombok:{버전}'
annotationProcessor 'org.projectlombok:lombok:{버전}'
{버전}
부분에는 사용하고자 하는 Lombok 라이브러리의 버전을 입력해 주세요.
주요 기능
Lombok은 다양한 자바 기능을 자동으로 생성해 줍니다. 이 중에서도 가장 많이 사용되는 기능들을 소개합니다.
@Getter
, @Setter
@Getter
와 @Setter
어노테이션을 사용하면, 클래스의 필드에 대한 Getter와 Setter 메소드를 자동으로 생성해 줍니다.
@Getter
@Setter
public class Person {
private String name;
private int age;
}
위와 같이 @Getter
와 @Setter
어노테이션을 사용하면, Person
클래스에 대한 Getter와 Setter 메소드가 다음과 같이 자동으로 생성됩니다.
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return this.age;
}
public void setAge(int age) {
this.age = age;
}
@ToString
@ToString
어노테이션을 사용하면, 클래스의 필드 값을 출력하는 toString()
메소드를 자동으로 생성해 줍니다.
@ToString
public class Person {
private String name;
private int age;
}
위와 같이 @ToString
어노테이션을 사용하면, Person
클래스에 대한 toString()
메소드가 다음과 같이 자동으로 생성됩니다.
public String toString() {
return "Person(name=" + this.name + ", age=" + this.age + ")";
}
@NoArgsConstructor
, @AllArgsConstructor
@NoArgsConstructor
와 @AllArgsConstructor
어노테이션을 사용하면, 파라미터가 없는 생성자와 모든 필드를 파라미터로 받는 생성자를 자동으로 생성해 줍니다.
@NoArgsConstructor
@AllArgsConstructor
public class Person {
private String name;
private int age;
}
위와 같이 @NoArgsConstructor
와 @AllArgsConstructor
어노테이션을 사용하면, Person
클래스에 대한 파라미터가 없는 생성자와 모든 필드를 파라미터로 받는 생성자가 다음과 같이 자동으로 생성됩니다.
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Builder
@Builder
어노테이션을 사용하면, 빌더 패턴을 쉽게 구현할 수 있습니다.
@Builder
public class Person {
private String name;
private int age;
}
위와 같이 @Builder
어노테이션을 사용하면, Person
클래스에 대한 빌더 패턴을 사용할 수 있습니다.
Person person = Person.builder()
.name("John")
.age(30)
.build();
@Data
@Data
어노테이션을 사용하면, @Getter
, @Setter
, @ToString
, @EqualsAndHashCode
, @RequiredArgsConstructor
어노테이션을 자동으로 적용해 줍니다.
@Data
public class Person {
private String name;
private int age;
}
위와 같이 @Data
어노테이션을 사용하면, Person
클래스에 대한 @Getter
, @Setter
, @ToString
, @EqualsAndHashCode
, @RequiredArgsConstructor
어노테이션을 모두 적용한 것과 같습니다.
결론
이 문서에서는 Lombok 라이브러리의 사용 방법과 주요 기능들을 설명했습니다. 각 기능들은 개발자가 반복적으로 작성해야 하는 코드를 자동으로 생성해 주기 때문에, 개발 생산성을 높일 수 있습니다.
롬복 라이브러리 공식 DOCS
'JAVA' 카테고리의 다른 글
[JAVA] 정보 은닉과 캡슐화 (0) | 2023.03.21 |
---|---|
[JAVA] 람다식 (lambda Expressions) (0) | 2023.03.21 |
[JAVA] 재귀함수 (Recursion) (0) | 2022.12.03 |
[JAVA] Comparable<T> 인터페이스 (0) | 2022.11.28 |
[Stack & Queue] 올바른 괄호 (0) | 2022.11.24 |