Abstraction in real world:
Abstract is a way of hiding complexity. Let us take the example of a car. We know that if accelerator pressed, speed will increase but don’t know the internal process how speed will be increased.
Abstraction in programming:
Abstract way to show essential details (what) to the user and hide non-essential details (how). Let us take a simple example:
num = num1*num2;
In the above example we multiply two numbers and store result into new variable. But what is happening behind the sense? There are so many things like registers, program counter (PC) etc are involved. Numbers of operations like PUSH, POP etc are happening. But these operations are hiding by high level languages we are using for programming.
Abstraction in java is achieved with the help of abstract class and interface. We will discuss later about abstract class and interface.
Advantages/Benefits of Abstraction:
1. Only show essential details to end user.
2. Hide complexity.
Difference between abstraction and encapsulation:
|1. Encapsulation is a concept for wrapping of data and code into a single unit.|
2. Encapsulation is a way of data hiding.
3. Encapsulation is achieved by access modifiers and classes.
|1. Abstraction is a way to show only essential details to user.|
2. Abstraction is way of hiding complexity.
3. Abstraction is achieved by abstract class and interface.