# Polymorphism

Different objects responding to the same method call in their own way.

## What is **Polymorphism**?

**Polymorphism** ("many shapes") means different objects can respond to the same method call in their own way. Tell every shape to `Draw()` and circles draw circles while squares draw squares. The calling code doesn't need to know which is which.

```csharp
List<Shape> shapes = [new Circle(), new Square()];
foreach (var shape in shapes)
{
    shape.Draw(); // each shape draws itself
}
```

Level: Apprentice · [More OOP terms at this level](https://www.ask-codey.com/glossary/subjects/oop/apprentice)

Updated: September 27, 2026

## In other subjects

- [Polymorphism in C#](https://www.ask-codey.com/glossary/polymorphism-c-sharp)
- [Polymorphism in Java](https://www.ask-codey.com/glossary/polymorphism-java)
- [Polymorphism in JavaScript](https://www.ask-codey.com/glossary/polymorphism-javascript)

Source: https://www.ask-codey.com/glossary/polymorphism-oop
