Abstract Classes
The modifier abstract is used to define abstract classes and methods
The children of the abstract class are expected to define implementations for the abstract methods in ways appropriate for them
If a child class does not define all abstract methods of the parent, then the child is also abstract
An abstract class is often too generic to be of use by itself