@Getter @Setter
public class Zealot {
private String name;
private int hp;
private int attack;
}
@Getter @Setter
public class Dragoon {
private String name;
private int hp;
private int attack;
}
질럿과 드라군이 있다
둘을 생성하는 GateWay 라는 클래스도 있음
public class GateWay {
// 여기서 질럿을 생성할 수도 있고 드라군을 생성할 수도 있음
// 질럿을 생성하는 함수
public Zealot 생성() {
return new Zealot();
}
}
main 도 있다
public class StarApp {
public static void main(String[] args) {
GateWay gateWay = new GateWay();
Zealot zealot = gateWay.생성();
}
}
근데 만약 드라군도 생성하고 싶다면?
게이트웨이에서 드라군을 생성하는 함수를 하나 더 만든다
public Dragoon 생성2() {
return new Dragoon();
}
이게 일반적인 생각..만들어야 하는 객체가 만약 100개면 함수 100개 만들어야됨
그래서 나온 대안
public Object 생성(int code) {
if (code == 1) {
return new Zealot();
} else if (code == 2) {
return new Dragoon();
}
return null;
}