Abstraction.
The idea of filtering out/hiding unnecessary information to make a problem easier to understand. Simplifying the problem.
Reasons:
- Making it easier to code
- Making the program more accessible by lowering hardware requirements (hardware limitations)
- Focus on core requirements.