Abstraction is the specification of an abstract data type, which includes a specification of the type's data representation and behavior
The world is object-oriented, and the object-oriented programming paradigm attempts to express computer programs in ways that model how people perceive the world.