🎉 October Learning Month — learn a new software term every day!
An interactive flashcard trainer for software engineering terms.

Abstraction

In plain terms

Hiding complex details behind a simple interface you can use without knowing the internals.

Going deeper

Abstraction lets you work at the right level: you call a function or use a class without caring how it's implemented. It's the core tool for managing complexity, letting big systems be built from understandable pieces.

Under the hood

Implemented through interfaces, abstract classes, and APIs; the right abstraction reduces cognitive load, while a leaky one forces users to understand the hidden details anyway.

Examples

A database driver interface; the file system API; HTTP libraries hiding sockets.

Think of it like...

Like a car's steering wheel: you turn it to go left without knowing anything about the rack-and-pinion gears doing the actual work.

Feedback & Bug Report