1) constructor — invoked directly by client methods
3) special instance methods to return a new object of its own class. Could be public or private.
4) singleton’s getInstance(). Static
Example of (3): shortcut constructor method.
#1 key question: How do you control access to these methods?
3) you need to get an instance of this class before calling this method. Get a chicken, then an egg.
1) no control
4) no control due to staticity
2) a static factory method offers limited control.
 static? less common.