NEW: English for Tech Bundle → Save 40%
Your progress

Loading your progress…

Home
Code & Deliverynoun · /ˌpɒlɪˈmɔːfɪzəm/

polymorphism

In simple English

Polymorphism is a core concept in object-oriented programming that enables flexibility and reusability. It comes from Greek words meaning many forms. There are two main types: compile-time polymorphism (method overloading) where the same method name performs different actions based on parameters, and runtime polymorphism (method overriding) where a subclass replaces a parent class method. In real tech workplaces, engineers use polymorphism to write generic code that works across multiple classes, reducing duplication and making systems easier to maintain and extend. You will hear it frequently in architecture discussions, code reviews, and when designing APIs or frameworks that need to support multiple implementations.

Understand what polymorphism means in object-oriented programming and how to use it in practice.

At a glanceCEFR C1
Commonness4/5
Versatility4/5
FormalityCasualFormalFormal
Spoken ↔ WrittenSpokenWrittenBoth
Directness ↔ DiplomaticDirectDiplomaticDirect
RegionUS and UK
New app · Free lessons

Speak up in meetings. Feel confident.

Standup vocabulary, native examples, and quick practice — 100+ free lessons

Start learning freeNo card needed · Google or email

Say it like this

We can leverage polymorphism here to reduce code duplication.
Polymorphism allows us to write more flexible and maintainable code.
This design uses polymorphism to abstract away implementation details.

Real examples

in a code review

"We should use polymorphism here so that both CreditCard and PayPal classes can implement the same pay() method."

in a design discussion

"Polymorphism lets us add new payment providers without changing the existing checkout logic."

in a technical interview

"Can you explain how polymorphism helps us achieve the Open-Closed Principle in SOLID design?"

Don't say this

Handle with care. Often confused with inheritance. Polymorphism is about behavior, inheritance is about hierarchy. Do not use polymorphism to mean general code reuse.

Polymorphism is just when you have classes that inherit from each other.
Polymorphism is when different classes can respond to the same method call in different ways, often through inheritance.Inheritance enables polymorphism but is not the same thing. You can have polymorphism without inheritance through interfaces or duck typing.
We do not need polymorphism because we can just check the type with if statements.
Polymorphism is better than type-checking because it scales as you add new types and reduces code maintenance.Type-checking is fragile and does not leverage polymorphism advantages like extensibility and clean design.

Other forms

noun

polymorphism

"Polymorphism is essential for writing extensible code."

adjective

polymorphic

"We need a polymorphic function that works with multiple types."

Often used with

implement polymorphismUsed when adding polymorphic behavior to a system or class design.
leverage polymorphismUsed when taking advantage of polymorphic features to solve a design problem.
runtime polymorphismSpecific type that occurs during program execution, not at compile time.
compile-time polymorphismSpecific type resolved when the code is compiled, such as method overloading.

Similar words

subtypingMore technical term; polymorphism is the broader concept that includes subtyping.
method overridingSpecific mechanism of polymorphism; not all polymorphism involves method overriding.

Opposites

monomorphismtype-specific code

Practice

Try it

4 quick exercises

Complete the sentence

1. Our library uses _______ to allow different sorting strategies to work with the same sort() method.

Spot the mistake

2. Which sentence uses polymorphism correctly?

Pick the most natural phrasing

3. Your architect suggests using polymorphism to handle multiple authentication types. How would you respond?

Rewrite naturally

4. Rewrite in natural tech English: 'We have many different types of notifications but we want them all to use the same send() method.'

Questions

Quick poll

Have you said "polymorphism" in a standup this week?

Want more structured practice like this? Our English for Programmers course covers real workplace English in depth.

Your badges