1 Why would you create an abstract class, if it can have no real instances?
to reserve memory for an unspecified class type
to prevent unwanted method implementation
to explore a hypothetical class
to avoid redundant coding in children