EEALL@ONCE
π±@Builder μ΄λ Έν μ΄μ λ³Έλ¬Έ
@Builder μ΄λ Έν μ΄μ μ Lombok λΌμ΄λΈλ¬λ¦¬μμ μ 곡λλ μ΄λ Έν μ΄μ μ€ νλμ λλ€.
μ΄ μ΄λ
Έν
μ΄μ
μ μ£Όλ‘ Java ν΄λμ€μ λΉλ ν¨ν΄μ μμ±νλ λ° μ¬μ©λ©λλ€.
λΉλ ν¨ν΄μ κ°μ²΄λ₯Ό μμ±ν λ νλλ₯Ό μ€μ νλ λ° λμμ μ£Όλ ν¨ν΄ μ€ νλμ
λλ€.
@Builder μ΄λ Έν μ΄μ μ μ¬μ©νλ©΄ ν΄λΉ ν΄λμ€μ λν λΉλ ν΄λμ€κ° μλμΌλ‘ μμ±λλ©°,
μ΄λ₯Ό μ¬μ©νμ¬ κ°μ²΄λ₯Ό μμ±νκ³ νλ κ°μ μ€μ ν μ μμ΅λλ€.
μ΄κ²μ μ£Όλ‘ λΆλ³(immutable) κ°μ²΄λ₯Ό μμ±νκ±°λ, κ°μ²΄ μμ± κ³Όμ μ λ λͺ
ννκ² λ§λ€κΈ° μν΄ μ¬μ©λ©λλ€.
κ°λ¨ν μμ λ‘ μ€λͺ
νκ² μ΅λλ€. μλλ @Builder μ΄λ
Έν
μ΄μ
μ μ¬μ©ν ν΄λμ€μ μμ μ
λλ€.
import lombok.Builder;
import lombok.Getter;
@Getter
@Builder
public class Person {
private String name;
private int age;
}
μ΄ ν΄λμ€λ₯Ό μ¬μ©νμ¬ κ°μ²΄λ₯Ό μμ±ν λ λΉλ ν¨ν΄μ νμ©ν μ μμ΅λλ€.
Person person = Person.builder()
.name("John")
.age(30)
.build();
μ΄λ κ² @Builder μ΄λ
Έν
μ΄μ
μ μ¬μ©νλ©΄ κ°μ²΄ μμ± κ³Όμ μ΄ λͺ
νν΄μ§λ©°, νλλ₯Ό μ€μ νκΈ°κ° κ°λ¨ν΄μ§λλ€. λν, λΆνμν μμ±μ λ©μλλ₯Ό μμ±νμ§ μμλ λλ―λ‘ μ½λκ° λ κ°κ²°ν΄μ§λλ€.
'Springπ±' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
π±Method Chaining ( λ©μλ 체μ΄λ) (0) | 2023.11.07 |
---|---|
π± νμ μμ System.out.println λμ λ‘κΉ μ μ¬μ©νλ μ΄μ (SLF4J(κ°λ¨ν λ‘κΉ ν©μ¬λ)μ Logback) (0) | 2023.10.16 |
π± μΈν 리μ μ΄ μ€ν μλ λΉ λ₯΄κ² νλ λ² (0) | 2023.10.16 |
π± μΉ μ ν리μΌμ΄μ κ³Ό μ±κΈν€ / μ±κΈν€ ν¨ν΄μ λ¬Έμ μ (0) | 2023.08.19 |
π±λΉ μ€μ λ©ν μ 보 (0) | 2023.08.19 |