Problem Statement
What are the benefits of abstraction in object-oriented programming?
Explanation
Abstraction allows developers to focus on high-level design rather than implementation details. By exposing only relevant behaviour, it simplifies usage and hides complexity. This leads to improved maintainability, scalability and easier evolution of systems. For instance in a banking application you might expose operations like deposit() and withdraw(), while hiding how interest calculation or ledger maintenance is implemented.