Abstraction is one of the features of Object-oriented Programming.
Abstraction refers to, providing or displaying (showing) only necessary and essential information to the outside world (user of an object) and hiding background details.
It simply means representing only those details to the user which are of use to them, and hiding up the unnecessary portion from the user.
Abstraction provides what is necessary and encapsulates the unnecessary things to outside the world.
- It lets you focus on what the object does instead of how it does it.
- It provides you a generalized view of your classes or object by providing relevant information.
What happen when you switch ON Television? Do you know the inner details of the Television? And does this matter to you what is happening inside the Television? You don’t need to know. What you need to know is whether The Television is ON or NOT. This is abstraction. Show only the details which is matter to the user.