Difficulty: Easy
Correct Answer: Abstraction
Explanation:
Introduction:
Good APIs reveal just enough to use a component while keeping internal complexity hidden. This question checks whether you can identify the OOP concept that emphasizes presenting essential features and omitting unnecessary details from a user’s perspective.
Given Data / Assumptions:
Concept / Approach:
Abstraction focuses on modeling only the relevant aspects and exposing a clean interface, independent of implementation. Encapsulation is about bundling data and behavior with access control; data hiding is the access-control manifestation that prevents outsiders from touching internals. Abstraction is the closest match to “exposing only what’s necessary”.
Step-by-Step Solution:
1) Identify the goal: minimize surface area and reveal essential operations.2) Map to OOP terms: this is abstraction at the API boundary.3) Use encapsulation and data hiding to support the abstraction (private members, friend minimization).4) Result: clients program to an abstract interface, not concrete details.
Verification / Alternative check:
Compare a well-designed class with a leaky one. The former exposes methods like push/pop/top for a stack while hiding its internal container choice, demonstrating abstraction.
Why Other Options Are Wrong:
Encapsulation: supporting mechanism; broader than “expose only what’s necessary.”Data hiding: narrower focus on access control rather than conceptual modeling.Data binding: unrelated term in OOP contexts here.
Common Pitfalls:
Using abstraction and encapsulation interchangeably; abstraction is about the interface level, while encapsulation is about packaging and access control.
Final Answer:
Abstraction
Discussion & Comments