공부/Project

@Builder 패턴을 사용하는 이유

린구 2024. 6. 21. 16:54
반응형

 

import lombok.Builder;

public class User {

    private Long id;
    private String email;
    private String password;
    private String nickname;
    private Point point;

    // @Builder 어노테이션이 적용된 생성자
    @Builder
    public User(String email, String password, String nickname) {
        this.email = email;
        this.password = password;
        this.nickname = nickname;
        this.point = new Point();
    }

 

생성자를 만들었으면 그냥 사용하면 되지 @Builder 패턴을 왜 사용하는 것일까?

 

User user = User.builder()
                .email("example@example.com")
                .password("securePassword")
                .nickname("nickname123")
                .build();

 

사용 예시를 보면 알 수 있다.

빌더 패턴을 사용하면, 생성자에 직접 값을 전달하는 방식보다 더 직관적이고 읽기 쉬운 코드가 된다.

필드의 순서와 관계없이 명시적으로 어떤 값이 어떤 필드에 할당되는지 알 수 있다.

 

@Builder 어노테이션을 사용하면 객체 생성 시 코드의 가독성과 유연성이 크게 향상되며

특히 생성자에 많은 매개변수가 있거나 선택적 매개변수가 있는 경우에 유용하다!

 

 

반응형