Abstract Classes
An abstract class cannot be instantiated
It is used in a class hierarchy to organize common features at appropriate levels
An abstract method has no implementation, just a name and signature
An abstract class often contains abstract methods
Any class that contains an abstract method is by definition abstract