This article will discuss about the Abstraction and also we will see the difference between the Abstraction and encapsulation.
What is an Abstraction?
• Abstraction is thinking about something a certain way
• Abstraction is the representation of only the essential features of an object and hiding un essential features of an object.
• Through Abstraction all relevant data can be hide in order to reduce complexity and increase efficiency
• Abstraction is simplifying complex reality by modeling classes appropriate to the problem
• Abstraction-outer layout, used in terms of design
• Encapsulation protects abstraction.
• It taking required data and hiding the unwanted data.

In this above example abstraction shows only necessary details of car or shows only necessary details to drive a car like rear view mirror, gear, clutch, steering And hides internal detail of car like Piston, crankshaft, carburetors, gas turbines etc which is encapsulation for a car.
Abstraction shows only required data and hides unwanted data.
Difference between Encapsulation and Abstraction
1. Abstraction solves the problem in the design level |
1. Encapsulation solves the problem in the implementation level |
2. Abstraction is used for hiding the unwanted data and giving relevant data |
2. Encapsulation means hiding the code and data in to a single unit to protect the data from outside world |
3. Abstraction is a technique that helps to identify which specific information should be visible and which information should be hidden. |
3. Encapsulation is the technique for packaging the information in such a way as to hide what should be hidden, and make visible what is intended to be visible. |

In this above example abstraction shows only necessary details of car or shows only necessary details to drive a car like rear view mirror, gear, clutch, steering And hides internal detail of car like Piston, crankshaft, carburetors, gas turbines etc which is encapsulation for a car
Abstraction shows only required data and hides unwanted data .

In above example which shows encapsulated detail of a car which is not necessary to expose to outside world and make visible what is intended to be visible.
You can download the source code from the top of this article.