NEW: English for Tech Bundle → Save 38%
Your progress…

Loading your progress…

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

polymorphism

polymorphism — The ability of objects or functions to take multiple forms or for the same interface to work with different data types.

In simple English

Polymorphism means many forms. In programming, it lets code treat different kinds of objects through the same interface. A function that calls shape.draw() works for a Circle and a Square, and each one draws itself in its own way. Two common kinds: overriding, where a child class replaces a method from its parent and the right version runs depending on the real object, and overloading, where the same method name accepts different parameters. Both let you write code against a general idea instead of a specific type. Why it matters: you can add new types without changing the code that uses them. In an interview, try: "Polymorphism lets one interface have many implementations, so I can call the same method on different objects and get behavior that fits each type." Say pol-ee-MOR-fiz-um. Related words are inheritance, interface and abstraction.

How to say it: Say pol-ee-MOR-fiz-um.

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

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.

Use it at work

Code review

  • Let's use polymorphism instead of this big switch statement.
  • Each payment type can implement the same method.

Explaining

  • With polymorphism, the same call works on different types.
  • Polymorphism lets us add new shapes without changing old code.

In an interview

  • Can you give an example of polymorphism?
  • I used polymorphism to support many file formats.

Don't say this

✕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.

Don't mix it up

How polymorphism differs from similar terms
TermWhat it isWho writes or uses itWhen
polymorphismSame interface, different behaviorDevelopersOOP
inheritanceClass reuses parent behaviorDevelopersOOP

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.'

Say it out loud

Phrase 1 of 3

"We can leverage polymorphism here to reduce code duplication."

We don't save your recording. The word check uses your browser's speech recognition.

More about polymorphism

Real examples(4)

  • in an interview

    "With polymorphism, the payment code calls charge() and doesn't care whether it's a card or a bank transfer."

  • in a code review

    "This long if-else on the type could be replaced with polymorphism."

  • in a design discussion

    "We added a new exporter class without changing the report code, thanks to polymorphism."

  • in a mentoring session

    "Overriding a method in a child class is one kind of polymorphism."

More mistakes(1)

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

  • ✕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(2)

  • polymorphism noun

    "Polymorphism is essential for writing extensible code."

  • polymorphic adjective

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

Often used with(4)

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

Similar words(2)

  • subtyping · More technical term; polymorphism is the broader concept that includes subtyping.
  • method overriding · Specific mechanism of polymorphism; not all polymorphism involves method overriding.

Opposites(2)

  • monomorphism
  • type-specific code

Questions(6)

What is polymorphism in simple terms?
Polymorphism means one interface, many forms. You can call the same method on different types of objects, and each type responds in its own way.
What is the difference between overriding and overloading?
Overriding is when a child class replaces a method from its parent, and the correct version runs depending on the real object. Overloading is when the same method name takes different parameters.
What is the difference between polymorphism and inheritance?
Inheritance lets a class reuse and extend another class. Polymorphism lets code use objects of different classes through a shared interface. Inheritance is one common way to get polymorphism.
Can you give an example of polymorphism?
A Shape class has a draw method. Circle and Square both override it. A function that loops over a list of shapes and calls draw works for every shape without checking its type.
Why is polymorphism useful?
You can add new types without changing the code that uses them. This reduces long if-else chains and makes programs easier to extend and test.
How do you pronounce polymorphism?
pol-ee-MOR-fiz-um. The stress is on MOR.
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

For bots & AI agents

Machine-readable versions of this page and Speak Tech English. Speak Tech English sells self-study ebooks and courses in English for tech, publishes free guides, a free glossary and a free newsletter; live lessons are on Mockly English. Fetch these instead of parsing this page.

This page (.md)llms.txtllms-full.txtai.txtGlossary (.md)Free guides (.md)All products (.md)Endpoint indexNewsletterLive lessons (Mockly)