@SuperBuilder
@SuperBuilder
란?부모 클래스의 필드를 포함한 Builder 패턴 생성을 지원하는 Lombok 어노테이션이다.
@SuperBuilder
를 사용하면 상속 관계에서 부모 클래스의 필드까지 포함된 빌더 객체 생성이 가능하다.
주의할 점은 부모 클래스와 자식 클래스에 모두 @SuperBuilder
어노테이션을 추가해야 한다는 점이다.
사용법
1️⃣ 부모 클래스에 @SuperBuilder
적용
import lombok.Getter;
import lombok.experimental.SuperBuilder;
@Getter
@SuperBuilder
public class Parent {
private String parentField;
}
2️⃣ 자식 클래스에서 @SuperBuilder
적용
@Getter
@SuperBuilder
public class Child extends Parent {
private String childField;
}
3️⃣ 빌더 패턴으로 객체 생성
Child child = Child.builder()
.parentField("부모 필드 값")
.childField("자식 필드 값")
.build();
장점과 단점
✅ 장점
- 상속 관계에서 부모 필드까지 포함하여 빌더 패턴을 사용할 수 있음
- 코드를 간결하게 유지하면서 객체 생성 가능
댓글남기기