목차
개요
코드 구현 중, 상속 관계의 클래스에 @Builder를 적용해야 하는 일이 있었습니다. 평소처럼 @Builder 사용하였지만 상속받은 필드는 빌더의 요소로 나타나지 않는 이슈가 있어 관련 내용을 찾게 되었습니다.
@SuperBuilder를 사용하면 된다.
@SuperBuilder는 @Builder 사용 때, 상속받은 필드를 빌더에서 사용하지 못하는 등의 제한을 해결하고자 만들어졌습니다. @SuperBuilder를 사용하면 상속받은 필드도 빌더에서 사용 할 수 있게 됩니다.
주의 할 점은 부모와 자식 클래스 양쪽 모두 @SuperBuilder 어노테이션을 추가해주어야 한다는 것 입니다.
@SuperBuilder 사용 예시
- 부모 클래스 Parent
@SuperBuilder
public class Parent {
private String parentField;
}
- 자식 클래스 Child
@SuperBuilder
public class Child extends Parent {
private String childField;
}
- 최종 예제 코드
Child child = Child.builder()
.parentField("parent")
.childField("child")
.build();'Java' 카테고리의 다른 글
| Arrays.asList() 사용 시 주의할 점 (0) | 2025.04.03 |
|---|---|
| List에서 특정 조건 만족하는 요소 삭제하기 (List.removeIf 사용하기) (0) | 2025.01.17 |
| ObjectMapper, Pattern 등의 클래스를 싱글톤으로 사용해도 될지 고민했던 내역 (0) | 2024.11.15 |
| 인텔리제이에서 자바 버전 변경하기 (0) | 2023.10.17 |
| Java에서의 HashMap 동작 원리 파악하기 (0) | 2023.07.27 |
