Spring Boot에서 Lombok의 @Builder
와 팩토리 메서드 패턴을 함께 사용하는 것은 충분히 가능한 접근 방식입니다. 두 개념이 어떻게 다르고, 어떻게 결합될 수 있는지를 설명하겠습니다.
@Builder
Lombok의 @Builder
는 객체의 인스턴스를 생성하는 데 사용되는 패턴을 제공합니다. 이 패턴은 주로 복잡한 객체 생성의 유연성을 높이고 가독성을 개선하기 위해 사용됩니다. @Builder
를 사용하면:
Lombok의 @Builder
는 실제로 객체를 생성할 때 new
키워드를 사용합니다. @Builder
를 적용한 클래스는 내부적으로 정적 빌더 클래스를 생성하며, 이 빌더 클래스는 new
를 사용하여 대상 객체를 인스턴스화합니다.
팩토리 메서드 패턴은 객체 생성의 책임을 서브클래스에 위임하는 디자인 패턴입니다. 이 패턴을 사용하면 객체 생성 로직을 중앙화하고, 복잡한 객체 생성 과정을 숨길 수 있습니다. 팩토리 메서드는 객체를 생성하기 위한 메서드로, new
키워드를 직접 사용하는 대신 이를 캡슐화하는 방식입니다.
@Builder
와 팩토리 메서드의 결합Lombok의 @Builder
와 팩토리 메서드를 함께 사용하는 것이 가능한 이유는 다음과 같습니다: