소프트웨어를 개발하다 보면 객체를 생성하는 코드가 점점 복잡해지는 경우가 있습니다. 처음에는 단순히 new 키워드를 이용해 객체를 생성하면 되지만 서비스 규모가 커질수록 객체 생성 과정에 다양한 조건이 추가되기 때문입니다.