본문 바로가기
Spring

SuperBuilder 란

by dharana7723 2024. 7. 8.

SupperBuilder

 

superBuilder란?

@SuperBuilder는 롬복 라이브러리에서 제공하는 어노테이션 중 하나입니다.

이 어노테이션을 사용하면 자바 빈 클래스를 빌더 패턴으로 간편하게 구현할 수 있습니다.

 

빌더 패턴은 객체를 생성하기 위한 여러 속성을 가진 클래스를 생성하고, 이를 이용하여 객체를 생성하는 방식입니다.

빌더 패턴은 객체 생성을 보다 유연하고 가독성 높은 방식으로 구현할 수 있어, 객체 생성 로직이 복잡한 경우 유용합니다.

 

@SuperBuilder 어노테이션은 @Builder 어노테이션의 기능을 보완하기 위해 도입되었습니다.

@Builder 어노테이션으로는 상속받은 필드를 빌더에서 사용하지 못하는 등의 제한이 있었습니다. @SuperBuilder 어노테이션은 이러한 제한을 해결하고 상속받은 필드도 빌더에서 사용할 수 있습니다.

 

@SuperBuilder 어노테이션은 다음과 같은 장점이 있습니다.

  • 빌더 패턴을 구현하기 위한 코드를 간결하게 작성할 수 있습니다.
  • 별도의 빌더 클래스를 작성하지 않아도 됩니다.
  • 생성자에서 상속받은 필드도 빌더에서 사용할 수 있습니다.

 

SupperBuilder 사용예시

SuperBuilder를 사용하기 위해서는 부모와 자식 클래스 양쪽에 @SuperBuilder 어노테이션을 추가해줘야 합니다.

자식 클래스를 생성하면서 빌더를 통해 부모와 자식 클래스의 필드 모두를 작성할 수 있습니다.

 

import lombok.experimental.SuperBuilder;

 

@SuperBuilder

Public class Parent{

private String parentField;

}

 

자식 클래스 child

@SuperBuilder

Public class Child extends Parent{

private String childFiedl;

}

 

SuperBuilder 예제코드

 

Class SupperBuilderTest{

@Test

void supperBuilderTesT(){

Child child = Child.builder()

.parentField(“parent”)

.childField(“child”)

.build();

}

}

 

참조:

https://dlee0129.tistory.com/290

'Spring' 카테고리의 다른 글

ATDD 2주차  (0) 2024.07.12
어노테이션과 커스텀 어노테이션 만들기  (0) 2024.07.08
리플렉션  (0) 2024.07.08
영속성 컨텍스트와 엔티티 매니저  (0) 2024.07.08
학습테스트 마무리  (0) 2024.07.07