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 |
댓글