Polymorphism atau polimorfisme adalah kemampuan objek dari kelas berbeda merespons pemanggilan metode yang sama dengan cara masing-masing. Satu nama metode dapat berperilaku berbeda tergantung objeknya. Polimorfisme memungkinkan kode yang lebih fleksibel karena satu perintah dapat bekerja pada berbagai tipe objek. Ini adalah salah satu pilar pemrograman berorientasi objek dan sering berpasangan dengan pewarisan. Hasilnya, kode menjadi lebih ringkas dan mudah diperluas.
Polymorphism membuat kode lebih fleksibel dan mudah dikembangkan karena tipe baru dapat ditambahkan tanpa mengubah kode yang memanggilnya.
Metode `bunyi()` menghasilkan "meong" pada objek kucing dan "guk" pada objek anjing, meski dipanggil dengan cara yang sama.