/**
* Difference between "abstract factory" and "factory method" is the abstracting point:
* 1. Abstracting point of abstract factory is factory.
* 2. Abstracting point of factory method is generated object.
*/
FactoryMethodHelloWorldFactory factoryMethodHelloWorldFactory = new FactoryMethodHelloWorldFactory();
HelloWorld factoryMethodHelloWorld = factoryMethodHelloWorldFactory.createHelloWorld();
System.out.println(factoryMethodHelloWorld.helloWorld());
System.out.println("4. Prototype: ");
HelloWorld prototypeHelloWorld = HelloWorldPrototype.PROTOTYPE.clone();
System.out.println(prototypeHelloWorld.helloWorld());