팩토리 메소드 패턴에서는 객체를 생성하기 위한 인터페이스를 정의하는데,
어떤 클래스의 인스턴스를 만들지는 서브 클래스에서 결정하게 만드는 패턴이다.
💨 사용시점
생성할 객체 타입을 예측할 수 없을 때
생성할 객체를 기술하는 책임을 서브클래스에게 정의
객체 생성의 책임을 서브클래스에 위임, 정보를 은닉하고자 할 때
⭕ 장점
❌ 단점
main 클래스를 변경하지 않고, 구현된 ooCreator클래스에서 변경하여 사용가능
서로 관련이 있는 객체들을 통째로 묶어서 팩토리 클래스로 만들고,
이들 팩토리를 조건에 따라 생성하도록 다시 팩토리를 만들어서 객체를 생성.
creator 클래스를 상속받아서 해당 기능에 대한 구현
create메소드에 필요한 알고리즘을 선언하고 단계적으로 구현
템플릿 메소드 패턴,
https://cjw-awdsd.tistory.com/m/54
https://jusungpark.tistory.com/14
https://dev-youngjun.tistory.com/195