본문 바로가기
개발

[java] 빌드패턴

by 적아38 2023. 2. 8.
728x90
public class PersonInfo{
	private String name;         //필수적으로 받야할 정보
	private int age;                //선택적으로 받아도 되는 정보
	private int phonNumber;   //선택적으로 받아도 되는 정보

	private PersonInfo(){
	}

	public static class Builder{

		private String name;
		private int age;
		private int phonNumber;

		public Builder(String name){
			this.name = name;
		}

		public Builder setAge(int age){
			this.age = age;	
			return this;
		}

		public Builder setPhonNumber(int phonNumber){
			this.phonNumber = phonNumber;
			return this;
		}

		public PersonInfo build(){
			PersonInfo personInfo = new PersonInfo( );
			personInfo.name = name;
			personInfo.age = age;
			personInfo.phonNumber = phonNumber;
			return personInfo;
		}
	}
}

PersonInfo personInfo = new Builder("Mommoo").setAge(12).setPhonNumber(119).build();

 

 

출처 : https://velog.io/@gillog/Builder-Pattern-builder

728x90

댓글