빌더 패턴 Builder Pattern

Table of contents

  1. 개요
    1. 장점
  2. 생성 방법
    1. 생성 예시 1 - 직접 구현
    2. 생성 예시 2 - Lombok 활용

개요

빌더 패턴(Builder Pattern)이란, 다양한 구성으로 만들어지는 인스턴스를 동일한 프로세스를 통해 만들수 있도록 해주는 패턴이다.

빌더 패턴은 별로 어렵지 않기 때문에 자세한 설명보다는 코드로 직접 구현해보면 누구나 쉽게 이해할 수 있다.

장점

  • 객체를 만드는 프로세스를 독립적으로 분리할 수 있다.
  • 객체를 생성할때 파라미터 조건이 많거나 복잡할 수록 가독성을 높일 수 있다.

생성 방법

생성 예시 1 - 직접 구현

CarBuilder.java

public interface CarBuilder {
    CarBuilder brand(String name);
    CarBuilder model(String model);
    Car getCar();
}

Car.java

public class Car implements CarBuilder {
    private String brand;
    private String model;

    @Override
    public CarBuilder brand(String brand) {
        this.brand = brand;
        return this;
    }
    @Override
    public CarBuilder model(String model) {
        this.model = model;
        return this;
    }
    @Override
    public Car getCar(){
        Car car = new Car();
        car.brand = brand;
        car.model = model;
        return car;
    }
}

Main.java

public class Main {
    public static void main(String[] args) {
        CarBuilder carBuilder = new Car();
        Car car = carBuilder
                .brand("brand")
                .model("model")
                .getCar();
    }
}

생성 예시 2 - Lombok 활용

Car.java

@Builder
public class Car {
    private String brand;
    private String model;
}
public class Main {
    public static void main(String[] args) {
        CarBuilder carBuilder = new Car();
        Car car = Car.builder()
            .brand("brand")
            .model("model")
            .build();
    }
}

The work and the work are derivative works because they are included in the work. However, derivative works include material and lyrics in the original work. CC BY-SA 4.0

Page last modified: May 11 2021.