Definition
Abstraction removes unnecessary details to simplify a problem. By focusing on core elements, complex problems become manageable, often revealing similarities to previously solved problems.
Key Point
| Abstraction aspect | What it gives you |
|---|---|
| Generalisation | Recognise shared patterns and reuse solutions |
| Levels of abstraction | Separate concerns while hiding low-level detail |
| Reduced complexity | Focus only on relevant detail at each stage |
| Better maintainability/teamwork | Cleaner interfaces between modules |