image.png

추가 자료

Effective Java, 생성자 대신 정적 팩터리 메서드를 고려하라


팩토리 패턴이 필요한 이유

1. new에는 어떤 문제가 있을까?

Duck duck = new MallardDuck();

2. 구체적인 문제 상황

Duck duck;
if (type == picnic) duck = new MallardDuck();
else if (type == hunting) duck = new DecoyDuck();
else if (type == inBathTub) duck = new RubberDuck();