एक constructor हमेशा अपनी सटीक class का एक बिल्कुल नया instance लौटाता है, जिसका नाम class से निश्चित होता है। एक factory method एक सामान्य (अक्सर static) method है जो objects बनाती है — आपको naming, कौन सा subtype लौटाना है, और क्या कोई नया object बनाना है या नहीं, इस पर स्वतंत्रता देती है।
