• Home
  • /
  • Tag Archives:  interface

OOP Python: Penerapan Konsep Interface

Dalam pemrograman berorientasi objek (PBO) atau object oriented programming (OOP), interface adalah sebuah konsep yang memungkinkan kita untuk mendefinisikan metode tanpa implementasinya. Interface berfungsi sebagai kontrak yang harus diimplementasikan oleh kelas yang menggunakannya.

Berdasarkan pengertian tersebut, interface ini sebenarnya mirip dengan konsep abstraksi, namun ada perbedaan dari keduanya. Konsep abstraksi hanya diterapkan pada class-class yang memiliki hubungan pewarisan (inheritance), di mana super class nya yang menjadi class abstrak. Penggunaan class abstrak dalam konsep abstraksi ini bertujuan untuk menggambarkan fitur-fitur dari super class secara umum saja, yang detil fiturnya nanti akan diimplementasikan pada subclassnya. Adapun untuk interface, penerapannya tidak harus pada class-class yang memiliki hubungan pewarisan. Tujuan dari pembuatan class abstrak dalam interface ini adalah untuk menggambarkan sebuah fitur secara umum. Fitur ini nanti bisa diterapkan pada class lainnya secara detil.

Selain itu dalam konsep abstraksi, sebuah subclass hanya boleh terlibat kontrak dengan sebuah class abstrak yang menjadi super classnya. Adapun untuk interface, sebuah class dapat terlibat kontrak dengan beberapa class abstrak.

Bagaimana penerapan interface di Python? akan dibahas tuntas melalui artikel ini.

Konsep Interface dan Implementasinya di Java

Dalam Pemrograman Berorientasi Obyek (PBO), memungkinkan kita dapat membuat method yang sifatnya abstrak, atau belum terdefinisikan detilnya, di mana tujuannya adalah untuk menyederhanakan ide solusi dari permasalahan. Melalui konsep ini, kita bisa memikirkan secara global terlebih dahulu struktur dan karakteristik dari obyek, barulah kemudian dipikirkan detilnya.

Keberadaan method abstrak bisa terdapat dalam dua tempat, yaitu bisa terdapat dalam sebuah class, yang selanjutnya class tersebut disebut dengan class abstrak, dan juga bisa terdapat dalam sebuah interface.

Dari kedua hal di atas, apa perbedaan keduanya? Perbedaan dari keduanya adalah pada implementasinya. Pada class abstrak implementasinya hanya bisa di dalam pewarisan (inheritance), artinya semua method-method yang masih abstrak milik class abstrak hanya bisa diimplementasikan di subclass nya. Adapun pada interface, tidak. Method abstrak di dalam interface bisa diimplementasikan pada sembarang class.

Artikel ini akan membahas lebih detil tentang interface, karakteristiknya, dan bagaimana contoh penerapannya di Java.