[java] 빌더 패턴
자바에서 빌더 패턴은 복잡한 객체 생성을 간소화하는 데 사용됩니다. 객체가 많은 매개변수를 가지고 있거나, 일부 매개변수는 선택적일 때 특히 유용합니다.
빌더 패턴의 장점
- 가독성과 유연성: 빌더 패턴을 사용하면 개발자가 메서드 체인을 통해 수월하게 객체를 생성하고 설정할 수 있습니다.
- 불변 객체 생성: 빌더 패턴은 불변 객체를 생성하는 데 도움이 됩니다. 불변 객체는 멀티스레드 환경에서 안전하고 예측 가능합니다.
- 선택적인 매개변수: 일부 매개변수가 선택적일 때 유용하며, 객체 생성 시 다양한 옵션을 제공할 수 있습니다.
빌더 패턴 예제
public class User {
private final String firstName;
private final String lastName;
private final int age;
private User(UserBuilder builder) {
this.firstName = builder.firstName;
this.lastName = builder.lastName;
this.age = builder.age;
}
public static class UserBuilder {
private final String firstName;
private final String lastName;
private int age;
public UserBuilder(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public UserBuilder age(int age) {
this.age = age;
return this;
}
public User build() {
return new User(this);
}
}
}
위 예제에서 User
클래스는 불변 객체를 생성하고, UserBuilder
클래스는 사용자의 속성을 설정합니다.
빌더 패턴의 활용
빌더 패턴은 Lombok 라이브러리와 함께 사용하면 더욱 효과적입니다. Lombok은 @Builder
어노테이션을 통해 빌더 패턴을 자동으로 생성하도록 지원합니다.
자바에서 빌더 패턴은 객체 생성을 단순화하고, 가독성을 향상시키며, 선택적인 매개변수를 다룰 때 유용한 디자인 패턴입니다.
참고 자료
이상으로 자바 빌더 패턴에 대한 내용을 정리해보았습니다. 부족한 부분이 있거나 추가할 내용이 있다면 언제든지 말씀해주세요.