Java - Builder Annotation, 빌더 애너테이션에 대한 개념과 사용 방법

 

빌더란? (Builder)

  • 객체 생성 시 필요한 파라미터만 지정하여 객체를 생성할 수 있도록 해주는 애너테이션
  • 이를 통해 코드 가독성과 유지보수성 개선

구문

// 멤버 변수 c의 객체 생성시 원하는 파라미터만 설정
Class c = Class.builder()
                .var1("value1")
                .var2("value2")
                .build();
  • 객체 생성
    • Class 라는 클래스의 c라는 멤버변수 객체 생성
  • builder() : 파라미터 설정
    • 변수 var1의 값 : value1
    • 변수 var2의 값 : value2
  • build() : 설정된 파라미터의 값을 갖는 'c' 객체 생성

간단 예시를 통한 사용 방법

  • Test.java
    • 롬복의 Getter/Setter/Builder,AllArgsConstructor 사용
      • Getter/Setter : 게터 세터 자동 생성
      • Builder : 원하는 파라미터의 값을 갖는 객체 생성
      • AllArgsConstructor : 모든 변수를 인자로 받는 생성자 자동 생성
// Test.java

import lombok.Builder;
import lombok.Getter;
import lombok.Setter;

@AllArgsConstructor
@Builder
@Getter
@Setter
public class Test {

	public Test() {
	}
	
	private String name;
	private int age;

}

  • BuilderAnnotationTest.java
public class BuilderAnnotationTest {

	public static void main(String[] args) {
		Test t = Test.builder()
					.name("Eunbyeol")
					.age(33)
					.build();
		System.out.println(t.getName() + ", " + t.getAge());
	}

}

 

  • 결과 확인