Problem Statement
Give an example code scenario illustrating both abstraction and encapsulation, and explain how they differ.
Explanation
Imagine a `Vehicle` interface with method `startEngine()`. The `Car` class implements `Vehicle` and hides its internal `engine` object and wiring inside `Car`. Users call `car.startEngine()` (abstraction) without knowing internal details. Internally, `engine` field is private and only exposed via methods (encapsulation). This shows abstraction at interface level and encapsulation at implementation level. Understanding this distinction is valuable for interviews.