QamoosTech
Programming FundamentalsIntermediate

Abstraction

Pronunciationab-STRAK-shun

Definition

Abstraction is the process of hiding complex implementation details and showing only the essential features of an object or system. It allows developers to interact with a simplified interface without needing to understand the underlying logic.

Where you hear it

In architectural discussions, during code reviews, or when designing software components.

Examples

  • Using a library function to send an email is an abstraction over the complex SMTP protocol.
  • An interface provides an abstraction that allows you to swap database implementations without changing your business logic.

Common mistake

Thinking that abstraction means removing functionality; it actually means hiding how that functionality is achieved to reduce cognitive load.