• Defines behaviour that classes can implement.
  • Cannot store state but can have default method implementations.
interface Drivable {
    fun drive()
}
 
class Car : Drivable {
    override fun drive() = println("Driving a car")
}