Java 기초 수업

<Java> builder 패턴

잼추 2022. 11. 4. 21:43
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class User {
    private String username;
    private String password;
    private String email;
    private String name;

    public static class UserBuilder {
        private String username;
        private String password;
        private String email;
        private String name;

        public UserBuilder username(String username){
            this.username = username;
            return this;
        }
        public UserBuilder password(String password){
            this.password = password;
            return this;
        }
        public UserBuilder email(String email){
            this.email = email;
            return this;
        }
        public UserBuilder name(String name){
            this.name = name;
            return this;
        }

        public User build(){
            return new User(username, password, email, name);
        }
    }

    public static UserBuilder builder(){
        return new UserBuilder();
    }

}

빌더 패턴, 원하는 변수만 원하는 타이밍에 넣어서 객체 생성가능함!!

'Java 기초 수업' 카테고리의 다른 글

<Java> collection  (0) 2022.11.10
https://refactoring.guru/ko/design-patterns/java  (0) 2022.11.04
<Java> singleton  (0) 2022.11.03
<Java> static  (0) 2022.11.03
<Java> Entity Class, Service Class, required constructor  (0) 2022.11.03