[kotlin] 추상 클래스를 상속받은 클래스의 추상 메서드 오버라이딩
Kotlin에서는 추상 클래스를 정의하고 해당 클래스를 상속받은 클래스에서 추상 메서드를 오버라이딩할 수 있습니다.
추상 클래스 정의
추상 클래스는 abstract
키워드를 사용하여 정의할 수 있습니다. 추상 클래스 내에는 추상 메서드 또는 구현된 메서드가 포함될 수 있습니다.
abstract class Animal {
abstract fun makeSound()
fun move() {
println("Moving...")
}
}
위의 예시에서 Animal
클래스는 makeSound
메서드를 추상으로 정의하고 move
메서드는 구현되어 있습니다.
상속 및 추상 메서드 오버라이딩
추상 클래스를 상속받은 클래스에서는 부모 클래스의 추상 메서드를 반드시 오버라이딩해야 합니다. 오버라이딩을 하지 않으면 컴파일 오류가 발생합니다.
class Dog : Animal() {
override fun makeSound() {
println("Woof!")
}
}
위의 예시에서 Dog
클래스는 Animal
클래스를 상속받고 makeSound
메서드를 오버라이딩하여 구현하고 있습니다.
요약
Kotlin에서는 추상 클래스를 정의하고 이를 상속받은 클래스에서 추상 메서드를 오버라이딩할 수 있습니다. 이를 통해 각 클래스는 자체적인 동작을 정의하고 확장할 수 있습니다.