Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- server developer
- Next.js
- 브루트 포스법
- 나는야 4학년 #5학년 까지 가보자구
- 반복문
- tibero 7.23
- software enginner
- java #예외처리 #throw #throws
- ndc2025
- 주니어 백엔드 개발자
- object 클래스 # java
- 25304번
- level3
- heap area #stack area #static area #jvm
- 2026 하반기 대기업 반드시 갑니다
- 백엔드 개발자 로드맵
- 자바 #자바문법 #자바기초 #참조형 #기본형
- 2798블랙잭
- Spring
- level2
- 서버 개발자
- server engineer
- 넥슨개발자컨퍼런스
- 정보처리기사 실기 #정처기 실기 #2024년 2회 #정처기 2024년 2회 #공부법 # 꿀팁
- tmax tibero
- static #자바 메모리 구조 #멤버 변수
- 이분탐색
- 서버 엔지니어
- 올 겨울은 조금 따뜻할 것 같다.
- java #추상클래스
Archives
- Today
- Total
개발자 쿠키
[Java] 빌더 패턴(Builder Pattern)을 왜 사용해야 하는가? 본문
객체를 생성하기 위한 패턴
1. 생성자 패턴
2. 정적 메소드 패턴
3. 수정자 패턴
4. 빌더 패턴
왜 빌더 패턴을 사용해야 하는가?
1. 필요한 데이터만 설정 가능
User user = new User("찬웅", 27, 100);
@NoArgsConstructor
@AllArgsConstructor
public class User {
private String name;
private int age;
private int iq;
public User (String name, int age, int iq) {
this.name = name;
this.age = age;
this.iq = iq;
}
public static User of(String name, int age, int iq) {
return new User(name, 27, 100);
}
}
이러한 번거로움을 한번에 해결
User user = User.builder()
.name("찬웅")
.age(27)
.iq(100).build();이렇게 빌더를 사용하면 동적으로 처리 가능
또한, 생성자 또는 정적 메소드와 비교해 테스트용 객체를 생성할 때 용이하게 해줌.
요약
엔티티 객체나 도메인 객체로부터 dto를 생성하는 경우면 직접 빌더를 만듬.
변수의 개수나 변경 가능성 등을 중점적으로 보고 빌더패턴을 적용할지 판단하면 된다.
#레퍼런스
https://mangkyu.tistory.com/163#google_vignette
'java' 카테고리의 다른 글
| [Java] 예외 처리 (0) | 2024.08.12 |
|---|---|
| [Java] Object 클래스 (0) | 2024.08.11 |
| 명품 JAVA Programming Chap08 (0) | 2022.08.20 |
| 명품 JAVA Programming Chap07 제네릭과 컬렉션 (0) | 2022.08.16 |
| 명품 JAVA Programming Chap06 모듈과 패키지 개념, 자바 기본 패키지 (0) | 2022.08.14 |