There are many concepts associated with abstraction, some of which can be applied to OOP.
Removing unnecessary details so as to represent the entity only using details that are necessary to the solving of the problem.
In OOP we create objects to represent real world entities. It is not necessary to store every detail of an entity, only those details that are required to solve a problem. For example, a payroll system that stores details of employees does not need to know the employees favourite colour to calculate their wages.
Grouping entities together by common characteristics to achieve a hierarchical relationship.
By grouping entities together by what they have incommon, we can create a template for that object. This template is called a class.
Hides the process from the user (e.g. the driver of a car turns the steering wheel, they don’t need to know if it is rack-and-pinion or linkage system)
Information Hiding only allows the user to see/access the data that form the essential characteristics of the object.
OOP does this through the process of encapsulation.
A single person, place, or thing about which data can be stored
A template that describes the attributes and behaviours for a group of entities
The representation of an entity. It is created from the template. An object is an instance of a class.