OO concept check: what do we call it when the same operation (method name) can be applied to different classes with behavior appropriate to each class?

Difficulty: Easy

Correct Answer: Polymorphism

Explanation:

Introduction / Context:Object-oriented programming promotes code reuse and flexibility through encapsulation, inheritance, and polymorphism. When a common operation name is implemented differently across classes yet invoked uniformly, we are using polymorphism.

Given Data / Assumptions:

  • A shared method name exists across multiple classes (for example, draw() on Shape subtypes).
  • Each class provides its own implementation.
  • Calls are resolved appropriately at compile time (overloading) or run time (overriding), depending on language and context.

Concept / Approach:Polymorphism literally means “many forms.” Through interface or superclass references, the same operation name results in class-specific behavior. This is foundational for extensible designs and polymorphic collections.

Step-by-Step Solution:

Compare definitions: inheritance (is-a relationship), encapsulation (information hiding), polymorphism (many forms).Map the described behavior to polymorphism.Confirm: the same message produces different effects depending on the receiver’s class.

Verification / Alternative check:Example: List.toString() behaves differently for ArrayList and LinkedList but can be invoked via a List reference.

Why Other Options Are Wrong:Inheritance defines type hierarchy, not behavior resolution itself. Encapsulation hides internal state/implementation. Multiple classification is not a standard OO pillar in this context.

Common Pitfalls:Confusing overloading (same method name, different parameter lists) with overriding (same signature, different classes). Both are forms of polymorphism but operate at different binding times.

Final Answer:Polymorphism

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion