Difficulty: Easy
Correct Answer: abstraction
Explanation:
Introduction / Context:
Software engineering emphasizes modeling complex systems by highlighting what matters and suppressing noise. Object-oriented thinking provides several core concepts: abstraction, encapsulation, inheritance, and polymorphism. Among these, abstraction is the foundational idea of representing the essence of an entity while ignoring irrelevant detail for a given context or layer of design.
Given Data / Assumptions:
Concept / Approach:
Abstraction creates simplified models: an interface showing what behaviors are possible without exposing internal mechanisms. This enables reasoning, reuse, and maintainability. Polymorphism is about substitutable behavior; encapsulation hides implementation behind a boundary; inheritance reuses structure/behavior. None of these alone equate to the act of ignoring inessential details; that role belongs to abstraction.
Step-by-Step Solution:
Identify the need to focus on key properties and behaviors.Map this need to the OO principle that presents high-level views and omits low-level detail: abstraction.Differentiate from other OO terms (polymorphism, encapsulation, inheritance) to avoid confusion.Conclude that the correct term is abstraction.
Verification / Alternative check:
Design patterns and UML use abstract classes and interfaces to capture behavior contracts. These abstractions allow multiple concrete implementations without cluttering the model with unnecessary specifics.
Why Other Options Are Wrong:
Common Pitfalls:
Confusing abstraction with encapsulation; the former removes detail in the model, the latter hides detail in the implementation.
Final Answer:
abstraction.
Discussion & Comments