Pemrograman Berorientasi Objek (OOP) adalah paradigma umum dalam pengembangan perangkat lunak. Ini membantu untuk membawa skenario dunia nyata ke pemrograman menggunakan kelas dan objek. Kelas adalah cetak biru untuk membuat objek. Programmer dapat membuat kelas dengan properti dan metode. Siswa dan guru adalah objek. Membuat objek dikenal sebagai Instansiasi. OOP juga menggunakan antarmuka. Antarmuka dan kelas mungkin tampak serupa, tetapi mereka memiliki perbedaan. Artikel ini membahas perbedaan antara kelas dan antarmuka. Itu perbedaan utama antara kelas dan antarmuka adalah itu kelas adalah tipe referensi yang merupakan cetak biru untuk instantiate objek sedangkan antarmuka adalah tipe referensi yang tidak dapat digunakan untuk instantiate objek.
1. Ikhtisar dan Perbedaan Utama
2. Apa itu Kelas
3. Apa itu Antarmuka
4. Kesamaan Antara Kelas dan Antarmuka
5. Perbandingan Berdampingan - Kelas vs Antarmuka dalam Bentuk Tabular
6. Ringkasan
Dalam OOP, semuanya dianggap sebagai objek. Tidak mungkin membuat objek tanpa kelas. Kelas adalah cetak biru untuk membuat objek. Saat membangun rumah, arsitek menggambar rencana. Rencananya mirip dengan kelas. Rumah itu mirip dengan objeknya. Kelas adalah rencana untuk membangun objek. Objek adalah apa yang dibuat menggunakan kelas.
Kelas berisi properti dan metode. Seorang siswa dapat memiliki properti seperti nama, kelas, nomor indeks. Seorang siswa dapat memiliki metode seperti membaca, berjalan, belajar. Kelas dibuat dengan properti dan metode yang diperlukan.
Sintaks untuk membuat kelas dalam banyak bahasa pemrograman adalah sebagai berikut. Itu dibuat menggunakan kelas kata kunci.
class class_name
// properti
// metode
Bahasa pemrograman seperti C # dan Java mengikuti sintaksis yang sama untuk membuat objek menggunakan kelas. Asumsikan bahwa nama kelasnya adalah Siswa.
Siswa s1 = Siswa baru ();
S1 ini adalah objek. Kata kunci "baru" digunakan untuk mengalokasikan memori untuk properti. Kelas A juga memiliki konstruktor untuk menginisialisasi properti atau variabel.
Anggota kelas seperti properti dan metode memiliki pengubah akses. Access specifier menggambarkan aksesibilitas dan visibilitas anggota tersebut ke kelas lain. Anggota kelas dapat memiliki penentu akses seperti publik, pribadi dan terlindungi. Anggota publik dapat diakses oleh kelas lain. Anggota pribadi hanya dapat diakses oleh kelas. Anggota yang dilindungi dapat diakses di dalam kelas dan subclass yang relevan.
Abstraksi adalah pilar pemrograman Berorientasi Objek. Ini untuk menyembunyikan detail implementasi dan untuk menampilkan fungsionalitas kepada pengguna. Abstraksi dicapai dengan menggunakan kelas dan antarmuka abstrak. Metode abstrak tidak memiliki implementasi. Kelas yang berisi setidaknya satu metode abstrak disebut kelas abstrak.
Ketika ada dua kelas abstrak, metode yang dideklarasikan di kelas tersebut harus diimplementasikan. Kelas baru digunakan untuk mengimplementasikan metode-metode itu. Jika kedua kelas memiliki metode yang sama, ini dapat menyebabkan masalah ambiguitas. Oleh karena itu, bahasa pemrograman seperti Java dan C # memiliki antarmuka.
Antarmuka hanya berisi deklarasi metode. Tidak ada metode implementasi. Selain itu, antarmuka tidak dapat digunakan untuk membuat objek. Mereka digunakan untuk mendukung banyak warisan dan untuk mengamankan kode.
Sintaks Antarmuka adalah sebagai berikut. Antarmuka menggunakan kata kunci "antarmuka".
antarmuka interface_name
ketik method1 (parameter_list);
ketik method2 (parameter_list);
Menurut di atas, antarmuka hanya memiliki deklarasi. Tidak ada definisi. Jadi, antarmuka tidak dapat membuat instance objek. Ini hanya memberikan tampilan abstrak tentang apa antarmuka itu. Metode yang dideklarasikan dalam antarmuka dapat diimplementasikan oleh satu atau banyak kelas. Kelas menggunakan kata kunci "implement" untuk mengimplementasikan antarmuka. Lihat contoh di bawah ini yang ditulis menggunakan Java.
Gambar 01: Program menggunakan Antarmuka
Menurut program di atas, A dan B adalah antarmuka. Antarmuka A memiliki deklarasi metode yang merupakan jumlah (). Antarmuka B memiliki deklarasi metode sub (). Kelas C mengimplementasikan kedua antarmuka yaitu A dan B. Oleh karena itu, kelas C mendefinisikan metode jumlah () dan sub (). Setelah membuat objek tipe C, dimungkinkan untuk memanggil kedua metode sum () dan sub ().
Metode yang dideklarasikan di dalam antarmuka harus selalu bersifat publik karena kelas implementasi mendefinisikannya. Antarmuka juga dapat mewarisi dari antarmuka lain.
Kelas vs Antarmuka | |
Kelas adalah tipe referensi yang merupakan cetak biru untuk membuat objek. | Antarmuka adalah jenis referensi yang tidak dapat dipakai. |
Instansiasi objek | |
Kelas digunakan untuk instantiate objek. | Antarmuka tidak dapat dibuatkan karena metode tidak dapat melakukan tindakan apa pun. |
Konstruktor | |
Kelas berisi konstruktor, untuk menginisialisasi variabel. | Antarmuka tidak mengandung konstruktor karena mereka hampir tidak ada variabel untuk diinisialisasi. |
Kata kunci | |
Kelas menggunakan kata kunci "kelas". | Antarmuka menggunakan kata kunci "antarmuka". |
Akses Specifier | |
Anggota kelas dapat bersifat pribadi, umum, dan terlindungi. | Anggota antarmuka harus selalu publik karena kelas pelaksana mendefinisikannya. |
Kelas dan Antarmuka banyak digunakan dalam Pemrograman Berorientasi Objek. Perbedaan antara kelas dan antarmuka adalah bahwa kelas adalah tipe referensi yang merupakan cetak biru untuk instantiate objek dan antarmuka adalah tipe referensi yang tidak dapat digunakan untuk instantiate objek. Kelas dapat mengimplementasikan banyak antarmuka. Tapi itu hanya bisa memperpanjang satu superclass. Dalam antarmuka dapat mewarisi banyak antarmuka tetapi tidak ada implementasi. Keduanya memiliki kepentingan. Programmer dapat menggunakannya sesuai dengan pengembangan perangkat lunak.
Anda dapat mengunduh versi PDF dari artikel ini dan menggunakannya untuk tujuan offline sesuai catatan kutipan. Silakan unduh versi PDF di sini Perbedaan Antara Kelas dan Antarmuka
1.tutorialspoint.com. "Java Object and Classes.", Intinya. Tersedia disini
2.navinreddy20. Antarmuka di java dengan contoh, Java By Navin Reddy, 11 Des 2012. Tersedia di sini