λ μ§:2025-10-22
-μ΄λ Έν μ΄μ (Annotation)μ μλ° μ½λμ λ©νλ°μ΄ν°λ₯Ό μΆκ°νμ¬ μ»΄νμΌλ¬λ λ°νμμμ νΉμ λμμ μ λνλ μν μ νλ€.
| μ΄λ Έν μ΄μ | μ€λͺ |
|---|---|
| @Override | λΆλͺ¨ ν΄λμ€λ μΈν°νμ΄μ€μ λ©μλλ₯Ό μ¬μ μνμμ λͺ μ |
| @Deprecated | λ μ΄μ μ¬μ©νμ§ μλ μ½λμμ νμ |
| @SuppressWarnings | μ»΄νμΌ κ²½κ³ λ₯Ό 무μνλλ‘ μ€μ |
| @FunctionalInterface | ν¨μν μΈν°νμ΄μ€μμ λͺ μ |
Lombokμ λ°λ³΅μ μΈ μ½λλ₯Ό μλμΌλ‘ μμ±ν΄μ£Όλμ΄λ Έν μ΄μ κΈ°λ° μλ° λΌμ΄λΈλ¬λ¦¬λ€.
Lombokμ μ¬μ©νλ©΄ getter, setter, toString(), μμ±μ λ± λ³΄μΌλ¬νλ μ΄νΈ(Boilerplate) μ½λλ₯Ό μ§μ μμ±ν νμκ° μλ€.
public class User {
private String name;
private int age;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
@Override
public String toString() {
return "User{name='" + name + "', age=" + age + "}";
}
}
@Getter
@Setter
@ToString
public class User {
private String name;
private int age;
}
| μ΄λ Έν μ΄μ | μ€λͺ | μμ |
|---|---|---|
| @Getter / @Setter | λͺ¨λ νλμ getter/setter μλ μμ± | @Getter @Setter |
| @ToString | toString() μλ μμ± | @ToString(exclude = "password") |
| @NoArgsConstructor | κΈ°λ³Έ μμ±μ μλ μμ± | @NoArgsConstructor |
| @AllArgsConstructor | λͺ¨λ νλλ₯Ό λ§€κ°λ³μλ‘ νλ μμ±μ μμ± | @AllArgsConstructor |
| @RequiredArgsConstructor | final νλλ§ ν¬ν¨ν μμ±μ μμ± | @RequiredArgsConstructor |
| @Slf4j | Logger μλ μμ± | log.info("message"); |
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
@ToString
public class User {
private String name;
private int age;
}
@Slf4j
public class UserService {
public void logMessage() {
log.info("This is a log message");
}
}
| κ΅¬λΆ | ν΅μ¬ ν¬μΈνΈ |
|---|---|
| Annotation | μ½λμ μλ―Έλ₯Ό λΆμ¬νκ³ , λ°νμ/μ»΄νμΌλ¬ λμμ μ μ΄ |
| Lombok | μ΄λ Έν μ΄μ μ ν΅ν΄ λ°λ³΅ μ½λλ₯Ό μλ μμ± |
| κ²°κ³Ό | κ°λ μ± ν₯μ, μ μ§λ³΄μ μ©μ΄, μμ°μ± μ¦κ° |