Kenapa kita butuh interface ?. Interface merupakan mekanisme dimana kita dapat menentukan metode-metode yang harus ada pada kelas. Interface hampir mirip dengan kelas abstrak, namun ada beberapa perbedaan pada interface dan abstrak. Yaitu :
- Kelas abstrak bisa mengandung metode abstrak dan metode tidak abstrak, sedangkan pada interface harus semua metode abstrak.
- Kelas abstrak dapat memilih atribut, sendangkan interface tidak boleh memiliki atribut.
- Kelas abstrak digunakan oleh kelas lain menggunakan pewarisan(extends), sedangkan interface menggunakan implementasi(implements).
Ciri ciri dari interface :
- Metode interface tidak punya tubuh, sebuah interface hanya dapat mendefenisikan konstanta dan interface tidak langsung mewariskan hubungan dengan kelas istimewa lainnya, mereka didefenisikan secara independent.
- Tidak bisa membuat instance atau objek baru dari sebuah interface.
- Ciri umum lainnya adalah baik interface maupun kelas dapat mendefenisikan metode. Bagaimanapun, sebuah interface tidak punya sebuah kode implementasi sedangkan kelas memiliki salah satunya.