Official description of the Factory Method pattern
Define an interface for creating an object, but let subclasses decide which class to instantiate.
Factory Method lets a class defer instantiation to subclasses.
Relies on inheritance. This allows classes to defer instantiation to subclasses.\