What’s an Abstraction?
Abstraction is a technique for managing complexity of computer systems. So programmer implements abstraction by dividing the complex problems into sub-problems i.e creating fine line between between sub-problems which will be more easy to implement,less complex for the programmer to implement and help in making a system less prone to error.So due to abstraction a team can be more efficient and can solve more complex problems.It works by establishing a level of complexity on which a person interacts with the system, suppressing the more complex details below the current level.So if we write a code for adding numbers we don’t have to worry about how numbers are represented and how addition is happening at lower level, so those details have been suppressed ,it can be said that they were abstracted away, leaving simply numbers and addition with which we can work upon.
Abstraction can be done in two ways :
1- Procedural Abstraction
2- Data Abstraction