Gampangnya gini:
- **Interface** = kontrak "bisa melakukan apa" (kemampuan). Satu class bisa implement banyak interface.
- **Abstract class** = template "adalah apa" (hubungan is-a). Satu class hanya bisa extends satu abstract class.

Contoh: Burung dan Pesawat sama-sama bisa terbang (implement interface Flyable), tapi keduanya beda jenis (tidak perlu extend class yang sama).