Abstraction = showing only essential features and hiding unnecessary details.
You interact with what something does, not how it works.
Example (real world):
This is abstraction.
β Reduces complexity
β Hides internal logic
β Clean & focused design
β Helps build frameworks & APIs
β Allows different implementations
Java provides two mechanisms:
1οΈβ£ abstract classes
2οΈβ£ interfaces (covered later)