본문 바로가기
Spring/Spring-detail

@Builder 빌더패턴

by YoonJong 2022. 10. 1.
728x90

@Builder (빌더패턴) 을 왜 사용하는지, 어떻게 사용하는지 알아보려고 한다.

아주 간단하게 정리했으니, 좀 더 깊이 알고싶으면 다른 블로그를 참고하면 좋을 것 같다.

 


@Builder 는 Lombok 라이브러리를 설치해야만 사용 할 수 있다.

 

 

그냥 생성자를 사용하면 될것 같은데 굳이 왜 @Builder를 사용할까??

 

예를 들어 어느 개발자가 매개변수의 순서를 바꿀 수 있다.

 

아래 예를보자

 

생성자의 매개변수 순서는 title, content 이다.

생성자를 사용하는 순서도 title:"제목입니다" , content:"내용입니다" 로 알맞게 들어갔다.

 

만약 생성자 매개변수의 순서를 바꾸면 어떻게될까??

생성자 매개변수 title 과 content 의 순서를 바꾸었다.

생성자를 사용하는 곳에서는 그대로 값을 넣었다.

content:"제목입니다", title:"내용입니다" 라는 말도 안되는 값이 들어가버린다.

이것을 개발한 개발자는 알 수 있겠지만, 다른 사람이 본다면 해당 순서를 알아차리기 힘들 것이다.

 

 

이러한 잘못된 에러를 잡기위해 @Builder 패턴을 사용한다

사용하는 방법은 아래와 같다.

 

생성자 위에 @Builder 를 붙여준다.

사용하는 곳에 .Builder() 붙여주고 넣고싶은 매개변수를 하나씩 적어준다.

title 에는 어떤 값을 넣을 거고, content 에는 어떤 값을 넣을거라는 것을 명시할 수 있으므로,

순서가 바뀌어도 값이 잘못될 가능성이 없다.

 

 

728x90

'Spring > Spring-detail' 카테고리의 다른 글

Swagger 적용하기 - REST API 명세를 문서화 하는 방법  (1) 2022.10.08
Integer 와 int 차이  (0) 2022.10.05
HTTP 메서드 종류  (0) 2022.10.01
유효성 검사(Validation)  (1) 2022.09.21
Logback 설정 + 테스트  (1) 2022.09.21

댓글