Dalam pemrograman berorientasi objek, subrutin yang disebut “metode” digunakan untuk melakukan fungsi dalam suatu program. Metode ini terdiri dari pernyataan pemrograman yang melakukan suatu tindakan, mengatur parameter input untuk menyesuaikan tindakan, dan dapat mengembalikan atau mengeluarkan nilai dari beberapa jenis objek atau kelas. Metode adalah tindakan yang dilakukan dalam program dari kelas tertentu atau di dalam objek, dan digunakan untuk mengakses dan memanipulasi data yang disimpan di dalam objek. Ada banyak metode yang berbeda dan masing-masing memiliki kegunaan tertentu. Tipe spesifik yang dilakukan dari kelas super abstrak dan diwarisi oleh subkelas dikenal sebagai metode abstrak.
Umumnya, metode abstrak melakukan sedikit atau tidak ada implementasi di dalam kelas super abstraknya. Kode yang terkandung dalam metode semacam ini dianggap kode dummy dan tidak diimplementasikan sendiri. Ini tidak berarti metode abstrak tertentu dalam kelas abstrak tertentu tidak digunakan. Sebaliknya, metode abstrak bertindak sebagai model atau pengganti untuk subkelas untuk menyelesaikan implementasi metode.
Kelas super dapat berisi beberapa subkelas, dan semua subkelas dari kelas super memiliki status dan perilaku tertentu yang serupa. Kelas abstrak, oleh karena itu, adalah jenis kelas virtual yang menunjukkan pewarisan virtual. Ini berarti bahwa setiap subkelas yang diturunkan dari kelas super mewarisi batasan kelas super dari mana ia diturunkan. Oleh karena itu, metode dalam subkelas diturunkan dari metode abstrak kelas super. Saat memprogram dan menggunakan metode abstrak, programmer harus mendeklarasikan abstrak kelas daripada virtual.
Misalnya, kelas super “Objek Grafis” berisi subkelas “Lingkaran,” “Persegi”, dll. Dengan demikian, semua Lingkaran dan Kotak memiliki status yang sama — orientasi, posisi, warna isian, warna garis — dan perilaku — moveTo , mengubah ukuran, memutar, menggambar — sebagai “Objek Grafis.” Semua subclass di super class ini memiliki kualitas yang sama, tetapi diimplementasikan dengan cara yang berbeda. Metode abstrak kelas super menyediakan dasar tanpa implementasi, dan subkelas melakukan implementasi aktual menggunakan metode yang sama. Meskipun setiap subkelas menggunakan metode yang sama dengan kelas abstrak, mereka secara unik mendefinisikan cara metode akan dijalankan.
Menggunakan metode abstrak memungkinkan untuk generalisasi di tingkat atas, atau kelas super, dan spesifikasi di tingkat yang lebih rendah, atau subkelas. Hirarki ini meminimalkan jumlah pemrograman metode untuk setiap subkelas tertentu. Menggunakan metode ini juga memungkinkan idempotensi subkelas, artinya jika suatu metode diimplementasikan berulang kali, hasilnya sama setiap saat.