Java 12일차 1(빌더)

2022. 11. 25. 10:00코딩배움일지/JAVA

Java 빌더 패턴 (Builder Pattern) 이란?

디자인패턴중 하나로, 생성과 표현의 분리

쉽게 말해 생성자에서 인자가 많을때 고려해볼수있는것이 빌더패턴이다.

 

 @Builder 빌더를 안 쓰고 만들때.

import lombok.AllArgsConstructor;

@AllArgsConstructor /*빌더 안쓰고 만든것*/
public class Student {
    private int studentCode;
    private String name;
    private String address;

    public static StudentBuilder build(){
        return new StudentBuilder();  /*객체 주소 생김. Student 아니고 StudentBuilder*/
    }

    public static class StudentBuilder{ /* 내부 클래스 InnerClass */
        private int studentCode; /*내부클래스는 바깥 클래스와 같이 세팅*/
        private String name;
        private String address;

        public StudentBuilder studentCode(int studentCode){ /*변수명과 메서드 일치하게 매개변수까지 일치*/
            this.studentCode = studentCode;
            return this; /*자기 자신의 주소를 리턴 */
        }
        public StudentBuilder name(String name){ /*변수명과 메서드 일치하게 매개변수까지 일치*/
            this.name = name;
            return this; /*자기 자신의 주소를 리턴 */
        }
        public StudentBuilder address(String address){ /*변수명과 메서드 일치하게 매개변수까지 일치*/
            this.address = address;
            return this; /*자기 자신의 주소를 리턴 */
        }
        public Student build(){ 
            return new Student();
        }
    }
}

'코딩배움일지 > JAVA' 카테고리의 다른 글

잠온다. Java 12일차 3(제네릭)  (1) 2022.11.25
Java 12일차 2(빌더)  (0) 2022.11.25
Java 11일차 3(빌더)  (0) 2022.11.24
Java 11일차 2-2(싱글톤)  (0) 2022.11.24
Java 11일차 2-1(싱글톤)  (0) 2022.11.24