Abstraction Data Abstraction
Abstract Data Type Abstraction Layer
Procedural Abstraction Class
Object Encapsulation

 

The technique of simplifying intricate data by offering a high-level interface. The process of simplifying complex real-world objects into models is called representation.
A simplified interface is provided to hide the complexity of lower-level components. A data type that specifies only the functionality and not the specific way it is implemented.
A blueprint for creating objects that encapsulates data and behavior. A technique that conceals the inner workings of a procedure and reveals only the essential information.
The bundling of data and methods that operate on that data within a single unit. An instance of a class that contains both data and methods.

 

Inheritance Polymorphism

 

The ability to present the same interface for different underlying data types. A mechanism to create a new class using properties and behaviors of an existing class.