• Cannot be instantiated.
  • Used as a base class that requires subclasses to implement abstract methods.
abstract class Animal {
    abstract fun makeSound()
}

class Dog : Animal() {
    override fun makeSound() = println("Woof!")
}