Polimorfizm iki farklı bağlamda kullanılabilir: biyolojik ve programlama bağlamları. Biyolojik bağlamda polimorfizm, bir tür içindeki değişikliklerin oluşmasını sağlayan genetik farklılıkları ifade eder. Programlama bağlamında polimorfizm ise, farklı veri tiplerinin veya sınıfların nesnelerinin, aynı arayüze (metot ismi veya operatör gibi) farklı şekillerde yanıt verebilme yeteneğidir. Polimorfizm, kodun daha genel, esnek ve genişletilebilir olmasını sağlar.