자바 빌더(Builder) 패턴

min·2022년 3월 29일
0

스터디 프로젝트 진행하다가 builder라는 개념을 쓰는 예시 코드가 있어서 나도 사용해보려고 찾아봤다.

빌더 패턴(Builder 패턴)?

빌더 패턴(Builder pattern)이란 복합 객체의 생성 과정과 표현 방법을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 하는 패턴이다.
출처: 위키백과

생성자가 많고 매개변수가 많다면 Builder 패턴을 고려해서 사용한다.

사용 이유?

  • 객체 생성을 깔끔하고 유연하게 도와준다.
  • 불필요한 생성자를 제거 할 수 있다.
  • 데이터의 순서에 상관없이 객체 생성이 가능하다.
  • 명시적 선언으로 이해가 쉽다.
  • 무조건 setter 생성을 방지하고 불변 객체로 만들 수 있다.
private User user = User.builder()
	.userName("minchoi")
    .passwd("1234")
    .providerType(ProviderType.LOCAL)
    .roleType(RoleType.USER)
    .build();

User user2 = user.toBuilder().userName("minchoi2").build();

// user - userName (minchoi)
// user2 - userName (minchoi2)

user를 가져와서 setter를 해가지고 할 필요 없이 그냥 불변의 객체로 user를 두고 user2객체를 만들 수 있다.

Lombok의 @Builder 어노테이션을 이용하면 더욱 쉽게 사용 할 수 있음.

profile
발등에 불이 따뜻하다..

0개의 댓글