Banner Java

Memahami Kelas Dan Metoda Abstrak Di Java

Anda telah mempelajari materi mengenai turunan sebuah kelas yang berasal kelas lain. Kelas turunan akan menjadi lebih spesifik dengan adanya penambahan data field dan metoda baru yang berkaitan dengan subclass tersebut, disamping data field dan metoda yang diwarisi dari kelas-kelas yang ada di atasnya. Apabila Anda bergerak ke atas di dalam hirarkhi turunan, kelas yang lebih atas akan menjadi semakin umum dan kurang spesifik. Superclass bisa tidak memiliki variabel kelas (data field) dan metoda sebagaimana yang dimiliki oleh kelas turunannya.

Dimungkinkan, sebuah kelas menjadi begitu abstrak sehingga hanya menyinggung hal-hal yang paling umum dan belum lengkap. Kelas semacam ini disebut dengan kelas abstrak (abstract class). Keberadaan kelas abstrak hanya dimaksudkan sebagai superclass dari kelas-kelas turunannya, sehingga kelas abstrak juga disebut dengan abstract superclass. Kelas-kelas turunan (derivatif) dari kelas abstrak itu sendiri yang nantinya bertugas untuk memodifikasi dan mengimplementasi hal-hal paling umum menjadi lebih spesifik dan yang belum lengkap menjadi lebih lengkap.

Kelas abstrak hanya menyinggung hal-hal umum dan belum lengkap. Implementasi secara konkrit mengenai hal-hal tersebut diserahkan kepada kelas turunannya. Karena terlalu umum dan tidak lengkap, kelas abstrak belum dapat dipandang sebagai obyek yang nyata. Kelas abstrak (abstract class) berbeda dengan kelas konkrit (concrete class). Anda dapat membuat sebuah obyek dari kelas konkrit seperti kelas JTextArea, JOptionPane, PersegiPanjang, Balok, BujurSangkar, Kubus dan Lingkaran, tetapi tidak dapat membuat obyek dari kelas abstrak. Sekalipun kelas abstrak tidak dapat digunakan untuk membuat obyek, Anda masih dapat menggunakan kelas abstrak sebagai tipe variabel. Variabel yang dideklarasikan dengan tipe kelas abstrak dapat mengacu ke obyek dari kelas konkrit yang merupakan kelas turunan dari kelas abstrak.

Deklarasi kelas abstrak.

Untuk mendeklarasikan sebuah kelas sebagai kelas abstrak, diperlukan kata kunci abstract sebelum kata kunci class. Kelas yang dideklarasikan abstrak, normalnya bisa berisi atribut atau properti yang umum dan satu atau lebih matoda abstrak. Berikut ini adalah sintak untuk mendeklarasikan kelas abstrak:

   modifier abstract class nama-kelas {
      // data field umum dan metoda abstrak
   }

Metoda abstrak.

Apabila ada sebuah metoda yang dideklarasikan dengan kata kunci abstract, maka kelas dimana metode abstrak tersebut berada harus dideklarasikan abstrak, sekalipun kelas tersebut juga mempunyai metode konkrit (metoda yang mempunyai implementasi). Metoda abstrak hanyalah penanda metoda (method signature) tanpa implementasi. Setiap kelas turunan konkrit dari superclass yang abstrak harus menyediakan implementasi yang konkrit dari metoda abstrak yang dimiliki oleh superclass yang abstrak. Berikut ini adalah sintak pendeklarasian metoda abstrak:

   modifier abstract tipe-nilai-dikembalikan nama-metoda();

Perlu diperhatikan bahwa untuk mendeklarasikan metoda abstrak di dalam kelas abstrak, tidak diperlukan opening dan closing brace.

Baca artikel terkait lainnya

Untuk memperbaiki mutu konten, Anda dapat berpartisipasi dengan cara melaporkan apabila menemukan kesalahan ketik, kata-kata rangkap, redaksi kurang pas (jelas), gambar pendukung tidak ada dan sebagainya melalui form Kontak Kami untuk mendapatkan perbaikan. Terima kasih atas kerjasamanya.

Hindro HindriantoHindro adalah pendiri sekaligus admin termasmedia.com dan topikit.com, blog online yang mengulas teknologi informasi. Dunia web mulai ditekuni tahun 2012 dengan mempelajari CMS Joomla dan Wordpress. Beberapa buku yang sekarang dipelajari antara lain PHP, HTML5, ASP.NET 4.5, JavaScript, CSS3, MySQL, Adobe Dreamweaver, Adobe Photoshop dan Adobe Flash.