Abstract A Datatype It can be a type that inherits from a OOP Class or Interface Less specific compared to Sub-class