Lombok :: SuperBuilder

태그
Java
날짜
2024/11/04
2 more properties
@Builder 어노테이션은 객채 생성에 사용될 Builder 클래스를 만들어주는 어노테이션이다.
그러나 상속관계를 갖고 있는 객체에서는 @Builder를 사용하면 컴파일 에러가 발생한다.
(자식 객체에서 부모 객체의 필드는 사용할 수 없다.)
이런 상속관계를 갖는 객체의 Builder 클래스를 만들어주기 위해 @SuperBuilder 어노테이션이 제공된다.
부모 자식 객체 모두 @SuperBuilder를 적용하면, 자식 객체의 Builder 클래스에서 부모 객체의 필드를 사용할 수 있게된다.
@SuperBuilder public class master { private String masterField; } @SuperBuilder public class slave extends master { private String slaveField; } // use Slave.Builder() .masterField() .slaveField() .Build();
Java
복사