En constructor returnerer alltid en helt ny instans av sin nøyaktige class, med et navn som er fast til klassen. En factory method er en vanlig (ofte static) metode som lager objekter — og gir deg frihet over navngiving, hvilken subtype du returnerer, og om du i det hele tatt oppretter et nytt objekt.
