What Is Abstraction?

This lesson will go over with a very important concept of OOP named abstraction.

Definition

Abstraction refers to exposing only the essential features of an object to the user and hiding the inner details to reduce complexity. It can be put this way: the user only has to know what an object does? rather than how it does it?.

Real-world Examples

The above illustration of the users and the admin of an application is a good real-world example of abstraction.

  • A user can only use and interact with the limited features of an application, i.e., the user interface, and is unaware of the implementation details or the way the application was developed. Usually, the users are only concerned with the functionality of an application.
  • An
...