Interface adalah jenis khusus dari blok yang hanya berisi method
signature(atau constant). Interface mendefinisikan sebuah(signature) dari
sebuah kumpulan method tanpa tubuh.Interface mendefinisikan sebuah
cara standar dan umum dalam menetapkan sifat-sifat dari class-class.
Mereka menyediakan class-class, tanpa memperhatikan lokasinya dalam
hirarki class, untuk mengimplementasikan sifat-sifat yang umum. Dengan
catatan bahwainterface-interface juga menunjukkan polimorfisme,
dikarenakan program dapat memanggil method interface dan versi yang
tepat dari method yang akan dieksekusi tergantung daritipe object yang
melewati pemanggil method interface.
Kenapa Kita Memakai Interface?
Kita akan menggunakan interface jika kita ingin class yang tidak
berhubungan mengimplementasikan method yang sama. Melalui
interface-interface, kita dapatmenangkap kemiripan diantara class yang
tidak berhubungan tanpa membuatnya seolaholah class yang
berhubungan. Mari kita ambil contoh class Line dimana berisi method
yang menghitung panjang dari garis dan membandingkan object Line ke
object dari class yang sama. Sekarang, misalkan kita punya class yang
lain yaitu MyInteger dimana berisi method yang membandingkan object
MyInteger ke object dari class yang sama. Seperti yang kita lihat disini,
kedua class-class mempunyai method yang mirip dimana membandingkan
mereka dari object lain dalam tipe yang sama, tetapi mereka tidak
berhubungan sama sekali. Supaya dapat menjalankan cara untuk
memastikan bahwa dua class-class ini mengimplementasikan beberapa
method dengan tanda yang sama, kita dapat menggunakan sebuah
interface untuk hal ini. Kita dapat membuat sebuah class interface,
katakanlah interface Relation dimana mempunyai deklarasi method
pembanding. Relasi interface dapat dideklarasikan sebagai,
public interface Relation
{
public boolean isGreater( Object a, Object b);
public boolean isLess( Object a, Object b);
public boolean isEqual( Object a, Object b);

