Belajar Java Memahami Interface Dengan Mudah

Belajar Java Memahami Interface – Apa itu Interface pada program Java? Interface pada java sekilas mirip dengan class namun hanya dapat memiliki method abstract dan static constant.

Sebenarnya dalam banyak hal interface ini mirip dengan class abstract. Jadi interface ini merupakan kumpulan dari method abstract.

Sedangkan class yang mengimplementasikan interface akan mewarisi method abstract dari interface tersebut.

belajar java memahami interface

Hal-hal Yang Perlu Anda Ketahui Tentang Interface

Tujuan utama dari interface ini adalah untuk menetapkan perilaku umum dari suatu class yang terkait ataupun tidak terkait.

Interface juga tidak bisa mengimplementasikan method, melainkan hanya berisi signature yaitu nama, parameter, dan exceptions dari method.

Penting untuk membedakan interface dengan class pada Java. Syntaxnya adalah sebagai berikut:

Kesamaan Antara Interface Dengan Class

Berikut ini adalah kesamaan antara sebuah interface dengan class dalam program Java:

  • Interface bisa memiliki jumlah method sebanyak apapun
  • Sebuah interface di tulis dengan menggunakan ekstensi .java dan nama interface itu sesuai dengan nama dari file.
  • Kode byte dari interface itu terdapat di file .class
  • Interface terdapat di packages dan kode byte yang berkaitan harus ada di struktur direktori di mana sesuai dengan nama dari package

Perbedaan Antara Interface Dengan Class

Di bawah ini adalah beberapa perbedaan antara interface dengan class:

  • Interface tidak didapat di instance-kan
  • Tidak memiliki konstruktor apapun
  • Semua method yang dimiliki oleh interface adalah method abstract
  • Interface tidak bisa mengandung fields instance. Fields yang terdapat pada interface haruslah dideklarasikan sebagai static dan final.
  • Interface bisa extend ke beberapa interface (multiple)

Mendeklarasikan Interface

Untuk mendeklarasikan interface maka Anda memerlukan sebuah keyword “interface”. Jadi berikut ini adalah contoh sederhana bagaimana mendeklarasikan sebuah interface:

Properti Dari Interface

Berikut ini adalah properti-properti dari interface:

  • Setiap interface itu secara implisit sudah ditetapkan sebagai abstract. Oleh sebab itu, Anda tidak perlu menggunakan keyword abstract ketika mendeklarasikan interface.
  • Demikian pula setiap method pada interface adalah method abstract, sehingga keyword abstract juga tidak diperlukan
  • Secara implisit method pada interface dideklarasikan sebagai public

Contoh:

Cara Mengimplementasikan Interface Pada Kode Program java

Untuk memudahkan memahamnyai, maka perlu diingat bahwa ketika suatu class mengimplementasikan interface maka class tersebut seperti telah menyetujui sebuah kontrak.

Jadi, class tersebut setuju untuk mengimplementasikan semua perilaku yang ada pada interface. Artinya class harus memberikan method-method abstract dari interface itu suatu body dengan tujuan agar bisa diimplementasikan.

Ketika suatu class tidak mengimplementasikan semua perilaku (behaviours) dari interface maka class tersebut harus dideklarasikan sebagai abstract.

Untuk menerapkan interface pada suatu class maka harus menggunakan keyword “implements”. Keyword tersebut harus berada di deklarasi class, setelah bagian extends dari deklarasi jika class tersebut inherit dari class lain.

Contoh:

Output:

Multiple Interface Bisa Diimpelementasikan Pada Satu Class

Hal yang penting untuk diketahui dari interface adalah bahwa suatu class bisa mengimplementasikan beberapa interface sekaligus.

Java tidak memperkenankan multiple inheritance pada suatu class tapi mengizinkan implementasi multiple interface.

Misalkan dari contoh di atas Anda memilik interface lain, seperti:

Contoh:

Output:

Method Static Pada Interface

Bagaimana bila suatu interface memiliki method static, misalnya:

Ternyata cara memanggil method static dari interface itu sama saja dengan cara memanggil method pada class biasa.

Contoh:

Output:

Method static dari interface akan sangat berguna jika Anda memiliki method-method utilitas dan Anda ingin menyediakannya.

Di mana method-method tersebut secara “alami” pas dengan interface yang terkait dengan tujuan yang sama. Misalnya interface Kendaraan bisa saja meemiliki method static print(Kendaraaan k).

Interface Bisa Inherit dari Interface Lainnya

Seperti konsep inheritance pada class Java, maka suatu interface juga bisa inherit dari interface lainnya.

Untuk melakukannya cuku mudah, Anda hanya tinggal menambahkan keyword “extends”. Ini sama seperti ketika Anda ingin membuat pewarisan class biasa.

Contoh:

Perhatikan contoh di atas di mana interface SubInterface inherit dari interface SuperInterface. Dengan demikan SubInterface akan mewarisi semua field dan method dari SuperInterface.

Akibatnya adalah setiap class yang mengimplementasikan interface SubInterface juga harus menerapkan semua method yang dimilik oleh SuperInterface dan SubInterface.

Contoh:

Suatu Interface Juga Bisa Inherit Dari Beberapa Interface Lainnya

Seperti sudah Anda tahu kalau java melarang multiple inheritance dari suatu class. Tapi, ini tidak berlaku bagi interface. Karena interface itu sendiri bisa inherit dari beberapa interface lainnya.

Caranya cukup mudah, setelahlah deklarasi interface, Anda tinggal menambahkan keyword extends dan bisa menambahkan lebih dari satu interface dengan menggunakan tanda koma sebagai pemisah.

Contoh:

Tagging Interface

Apa yang dimksud dengan tagging interface? Ini adalah interface yang kosong atau disebut juga sebagai marker interface.

Contoh dari interface ini adalah:

  • Serializable
  • EventListener

Interface itu tidak memiliki method ataupun field. Jadi, kalau interface itu kosong, kenapa class mengimpelementasikannya?.

Tujuan dari suatu class mengimplementasikan tagging interface adalah untuk mengkalim membership atau keanggotaan dari set tertentu.

Misalnya ketika class menimplementasikan interface Serializable maka class itu akan mengklaim sebagai anggota class Serializable.

Jadi ketika Java Virtual Machine (JVM) melihat class tersebut sebagai Serializable maka dia akan melakukan operasi yang bisa menolong proses serialisasi ataupun deserialisasi.

Contoh dari tag interface akan terlihat seperti ini:

Pada dasarnya, tagging interface ini hanya akan sangat berarti untuk JVM saja. Namun, Anda juga bisa membuat tag interface Anda sendiri dengan tujuan untuk memisahkan dan mengkategorikan kode program Java Anda.

Dengan demikian tingkat kemudahan keterbacaan kode juga akan semakin meningkat.

3 Aturan Penting Yang Harus Dipahami Ketika Mengoveridde Method Dari Interface

Di bawah ini ada tiga aturan penting yang harus Anda pahami ketika akan mengoverride method dari interface, yaitu:

  • Checked exception tidak boleh dideklarasikan pada method implementasi selain dari yang dideklarasikan oleh method interface atau subclass atau mereka yang dideklarasikan oleh method interface.
  • Method signature dari interface dan tipe pengembalian (return type) yang sama harus dipertahankan ketika method interface di override.
  • Bila class yang mengimplementasikan interface itu adalah class abstract maka method-method interface tidak perlu diimplentasikan.

Kesimpulan

Tujuan utama dari adanya interface pada Java adalah agar bisa menerapkan multiple inheritance. Karena hal ini mustahil dilakukan oleh class pada program Java.

Secara lebih lanjut interface ini adalah jalan bagi Java untuk mencapai polymorphism.  Ingat pula bahwa setiap method dalam interface itu secara implisit dideklarasikan sebagai public dan abstract.

Be the first to comment

Leave a Reply

Your email address will not be published.


*