본문 바로가기

반응형

Builder

(2)
[Spring] lombok - @Builder 1. @Builder @Builder 는 객체에 Builder 패턴을 자동으로 적용해주는 lombok 의 어노테이션이다. Builder 패턴은 복잡한 객체를 간단하게 생성할 수 있도록하는 디자인 패턴 중 하나로 생성자를 통한 생성이 아닌 빌더의 필드별 함수를 통해서 객체를 생성한다. @Builder 는 클래스 레벨에 붙이거나 생성자 또는 메서드에 붙여서 파라미터를 활요한 Builder 패턴을 자동으로 생성해준다. 2. @Builder class 만약에 클래스가 @Builder 로 지정된다면 클래스의 모든 필드를 매개변수로 받는 private 생성자가 자동으로 생성된다. 이때 생성자는 컴파일러를 통해 자동으로 생성되기 때문에 사용자가 따로 생성자를 구현하거나 @XArgsConstructor 형식의 어노테이..
[Design Pattern] Builder Pattern 1. Builder pattern 빌더패턴은 객체 생성 디자인 패턴 중 하나로 복잡한 객체를 단계적으로 생성할 수 있도록 하는 설계 패턴이다. 빌더패턴을 사용하면 하나의 객체 생성 코드를 통해서 다른 타입과 표현 방식을 가지는 객체를 생성할 수 있다. - why Builder pattern? 어떤 객체를 생성해야 한다고 가정해보자. 우리는 이 객체를 생성하기 위한 필드들과 로직을 포함한 생성자를 구현하여 객체를 생성할 수 있다. 하지만 만약에 이 객체에 확장이 필요하다면 어떨까? 객체에 필요한 필드들이 늘어나고 복잡한 로직들이 추가되어야 할 것이다. 이러한 문제를 해결할 수 있는 가장 간단한 방법은 서브클래스를 만드는 것이다. 부모 클래스와 자식 클래스를 나누어서 필요한 파라미터 조합들에 대하여 서브클래..

반응형