1. IDE
Intellij
2. 오늘 공부 내용
Lombok
@Getter, @Setter
- @Getter 어노테이션 - 클래스 필드에 대해 getter 메서드 자동으로 생성( 필드의 값을 읽기 위한 메서드)
import lombok.Getter;
public class User {
@Getter
private String name;
@Getter
private int age;
// name과 age에 대한 getter 메서드가 자동으로 생성됩니다.
}
// 자동으로 생성
public String getName() {
return name;
}
public int getAge() {
return age;
}
- @Setter 어노테이션 - 클래스 필드에 대해 setter 메서드 자동으로 생성( 필드의 값을 성정하기 위한 메서드)
import lombok.Setter;
public class User {
@Setter
private String name;
@Setter
private int age;
// name과 age에 대한 setter 메서드가 자동으로 생성됩니다.
}
// 자동으로 생성
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
- 코드의 간결성: 반복적인 코드 작성을 줄여주어 클래스가 훨씬 간결해집니다.
- 유지보수성: getter와 setter 메서드를 수동으로 작성하지 않으므로, 코드 변경 시 실수나 누락을 방지할 수 있습니다.
- 가독성 향상: 불필요한 코드가 제거되어 클래스의 핵심 로직에 집중할 수 있습니다.
@AllArgsConstructor, @NoArgsConstructor, @RequiredArgsConstructor
- @AllArgsConstructor
- 기능: 클래스의 모든 필드를 매개변수로 받는 생성자를 자동으로 생성합니다.
- 사용 시기: 모든 필드를 초기화해야 하는 경우 사용합니다.
import lombok.AllArgsConstructor;
@AllArgsConstructor
public class User {
private String name;
private int age;
}
// 자동으로 생성
public User(String name, int age) {
this.name = name;
this.age = age;
}
- @NoArgsConstructor
- 기능: 파라미터가 없는 기본 생성자를 자동으로 생성합니다.
- 사용 시기: 기본 생성자가 필요하거나, 프레임워크에서 객체를 생성할 때 기본 생성자가 요구되는 경우 사용합니다.
import lombok.NoArgsConstructor;
@NoArgsConstructor
public class User {
private String name;
private int age;
}
// 자동으로 생성
public User() {
}
- @RequiredArgsConstructor
- 기능: final 또는 @NonNull이 붙은 필드들만을 매개변수로 받는 생성자를 자동으로 생성합니다.
- 사용 시기: 필수적으로 초기화해야 하는 필드만을 초기화하는 생성자가 필요할 때 사용합니다.
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
public class User {
private final String name;
private int age;
}
// 자동으로 생성
public User(String name) {
this.name = name;
}
- 코드의 중복을 줄이고, 가독성을 높입니다.
- 생성자 작성 시 발생할 수 있는 실수를 방지할 수 있습니다.
- Lombok이 생성자를 자동으로 관리해주므로, 필드가 추가되거나 변경될 때 생성자 수정에 대한 부담이 줄어듭니다