잉?

[SpringBoot] 빌더 패턴(Builder Pattern)이란? + 사용 이유 본문

자바(Java)/스프링부트(SpringBoot)

[SpringBoot] 빌더 패턴(Builder Pattern)이란? + 사용 이유

Jye_647 2023. 6. 30. 23:24

빌더 패턴에 대해 알아보자

 

객체를 생성하는데 생성자 패턴 / 정적 메서드 패턴 / 수정자 패턴 / 빌더 패턴 등이 있다.

이중 권장되는 패턴이 빌더 패턴이다.

 

1. 필요한 데이터만 설정할 수 있다.

- 새로운 변수가 추가되어도 기존 코드에 영향을 주지 않는다.

- 불필요한 코드의 양을 줄인다.

- 반복적인 변경이 있을 때 유용하다.

 

객체를 생성해야 할 때 하나의 파라미터가 필요 없는 상황이라고 한다면,

생성자 패턴이나 정적 메서드 패턴 같은 경우 더미 값을 넣어주거나 파라미터가 없는 생성자를 새로 만들어줘야 한다.

Flower flower = new Flower("rose", "red");

public class Flower{
    private String name;
    private String color;

    public Flower(String name){
        this.name = name;
    }

    public static Flower of(String name){
        return new Flower(name, "red");
    }
}

 

2. 가독성이 높은 코드이다.

Flower flower = Flower.builder()
	.name("rose")
        .color("red")
        .build();

 

3. 변경 가능성을 최소화 할 수 있다.

- Setter 패턴을 사용할 경우 변경 가능성을 열어두기 때문에 유지보수 시에 잘못된 값이 들어간 지점을 찾기 어렵다.

 (@Setter는 최소한으로 쓰는 것이 현명하다.)

- 변수를 final로 선언함으로서 불변성을 확보하는 것이 좋다.

 (클래스 위 @Builder, @RequiredArgsConstructor 적용)

- final을 붙일 수 없는 경우라도 Setter를 넣어주지 않아도 된다.

 (클래스 위 @Builder, @AllArgsConstructor 적용)


 

[Java] 빌더 패턴(Builder Pattern)을 사용해야 하는 이유

객체를 생성하기 위해서는 생성자 패턴, 정적 메소드 패턴, 수정자 패턴, 빌더 패턴 등을 사용할 수 있습니다. 개인적으로 객체를 생성할 때에는 반드시 빌더 패턴을 사용해야 한다고 생각하는

mangkyu.tistory.com

 

💠 빌더(Builder) 패턴 - 완벽 마스터하기

Builder Pattern 빌더 패턴(Builder Pattern)은 복잡한 객체의 생성 과정과 표현 방법을 분리하여 다양한 구성의 인스턴스를 만드는 생성 패턴이다. 생성자에 들어갈 매개 변수를 메서드로 하나하나 받아

inpa.tistory.com

 

💠 정적 팩토리 메서드 패턴 (Static Factory Method)

Static Factory Method Pattern 정적 팩토리 메서드(Static Factory Method) 패턴은 개발자가 구성한 Static Method를 통해 간접적으로 생성자를 호출하는 객체를 생성하는 디자인 패턴이다. 우리는 지금까지 객체

inpa.tistory.com

 

Comments