팩토리 메소드 패턴이란?

스크린샷 2023-09-28 오전 10.18.31.png

구현하기

Product

요구하는 유연성에 따라 인터페이스, 추상 클래스, 또는 클래스 중 선택

public class Ship {

    private String name;

    private String color;

    private String logo;

    // getter, setter

    @Override
    public String toString() {
        return "Ship{" +
                "name='" + name + '\\'' +
                ", color='" + color + '\\'' +
                ", logo='" + logo + '\\'' +
                '}';
    }
    
}

ConcreteProduct

public class Whiteship extends Ship {

    public Whiteship() {
        setName("whiteship");
        setLogo("\\uD83D\\uDEE5️");
        setColor("white");
    }

}