Builder pattern은 객체 생성과 관련된 디자인 패턴이다. 보통 인자가 많은 객체를 생성할 때 유리하다.
▲ 내부클래스를 품을 외부클래스를 생성하자
▲ 내부 정적 클래스를 생성하자. 내부 클래스의 맴버변수는 외부클래스의 맴버변수와 동일해야한다.
▲내부클래스에는 꼭 초기화를 하고싶은 필수항목만을 받는 인자생성자를 생성하였고, 선택적으로 초기화를 할 맴버변수를 인자로 받는 인자생성자도 만들었다. 이때 인자생성자들의 반환타입은 모두 내부클래스 타입으로 한다.
추가로 외부클래스 타입을 반환하는 메소드와 내부 정적 클래스타입을 인자로 받는 생성자도 정의했다.
▲ 편한 출력을 위해 toString도 오버라이딩 하자.
출력을 해보자
▲외부클래스를 선언 및 인스턴스화 해주면서 Builder인자생성자를 통해 필수항목들을 초기화해주고 초기화 해준 것을 build()메소드를 이용하여 입력한 값들을 외부클래스의 맴버변수의 메모리를 생성함과 동시에 초기화해준다.
선택항목을 추가할 때도 같은 메커니즘으로 setTel()메소드나 setAddr()메소드를 이용해서 선택항목을 초기화시킨다.
'Java' 카테고리의 다른 글
[Java]Thread (0) | 2022.03.22 |
---|---|
[Java]익명 클래스(Anonymous Class) (0) | 2022.03.22 |
[Java]내부클래스 - part.2 내부 정적 클래스 (0) | 2022.03.22 |
[Java]내부클래스 - part.1 내부 맴버 클래스 (0) | 2022.03.22 |
[Java]예외처리 - part4. finally (0) | 2022.03.22 |