Dalam pemrograman perangkat lunak, pemrograman berorientasi objek (OOP) adalah kerangka kerja yang mencoba membuat objek dari dunia nyata. Teori dan praktik polimorfisme sangat dianjurkan dalam prinsip-prinsip OOP. Secara umum, sebuah objek harus dibuat untuk memiliki fitur dan perilaku dasar dengan pemahaman bahwa ini akan berubah ketika menjadi tipe tertentu.
Polimorfisme adalah kemampuan untuk memiliki variabel, fungsi, atau objek dengan lebih dari satu makna dalam program. Ada beberapa desain arsitektur yang menunjukkan polimorfisme. Desain ini menguraikan bagaimana suatu objek akan digunakan kembali dalam aplikasi untuk berbagai tujuan.
Banyak bahasa pemrograman mendukung penggunaan polimorfisme. Proses ini memungkinkan penggunaan kembali aturan bisnis dan kode perangkat lunak di seluruh aplikasi. Tidak semua bahasa pemrograman mendukung perilaku polimorfik penuh tetapi sebagian besar mendukung konsep dasar. Semua bahasa OOP yang sebenarnya termasuk Java®, .net, dan C++® mendukung pendekatan dan teknik yang lebih maju.
Rekening bank adalah contoh yang baik dari objek dasar yang dapat mendukung polimorfisme. Semua rekening bank memiliki nomor rekening, nama, dan saldo. Yang membuat akun unik adalah jenis akunnya. Beberapa contoh jenisnya adalah rekening tabungan, rekening giro, atau rekening pasar uang. Dalam polimorfisme, rekening bank akan menjadi objek dasar dengan rekening yang lebih spesifik menggunakan fitur rekening bank dasar. Setiap akun kemudian dapat memiliki perilaku tambahan untuk mendukung suku bunga, atau penalti penarikan saat menggunakan kembali informasi tentang rekening bank.
Menggunakan teori polimorfisme menghemat waktu pengembang dengan mengurangi kode yang terbuang. Itu membuat kode lebih mudah untuk ditulis dan lebih mudah dipahami orang lain. Selain itu, ini membuat perangkat lunak dapat diperluas, karena jenis yang akan datang dapat ditambahkan nanti menggunakan objek leluhur dasar dalam kode yang ada. Secara umum, aplikasi yang dikembangkan dengan cara ini lebih fleksibel dan lebih mudah diperluas dengan memerlukan lebih sedikit kode untuk modifikasi di masa mendatang
Teori polimorfisme juga berlaku untuk fungsi. Fungsi adalah bagian dari kode perangkat lunak yang melakukan tugas tertentu. Fungsi juga dapat ditulis dengan cara polimorfik. Pendekatan ini membuat kode lebih fleksibel karena fungsinya dapat digunakan kembali untuk aturan bisnis lain dalam perangkat lunak.
Contoh polimorfisme yang baik dengan suatu fungsi adalah fungsi pengurutan. Jenis fungsi ini akan mengurutkan daftar angka. Fungsi polimorfik tidak hanya dapat mengurutkan angka tetapi juga dapat mengurutkan semua jenis objek. Ini membuat fungsi lebih efisien karena bekerja pada banyak jenis data.