[kotlin] 추상 클래스 내부에서 추상 메서드를 호출하는 방법
목차
1. 소개
자바와 Kotlin과 같은 객체 지향 프로그래밍 언어에서 추상 클래스를 사용하는 경우, 해당 추상 클래스 내부에서 선언한 추상 메서드를 호출해야 하는 경우가 있습니다. 이때, 이러한 추상 메서드를 어떻게 호출할 수 있는지에 대해 알아봅시다.
2. 추상 클래스와 추상 메서드
- 추상 클래스: 추상 메서드를 포함할 수 있는 클래스로, 추상 메서드를 하나 이상 포함하고 있는 클래스를 의미합니다.
- 추상 메서드: 구현이 되지 않은 메서드로, 메서드의 시그니처만 정의되어 있고, 내용이 비어 있습니다.
3. 추상 메서드 호출
추상 클래스 내부에서 추상 메서드를 호출하기 위해서는 해당 추상 메서드를 정의한 하위 클래스를 생성하고, 해당 하위 클래스의 인스턴스를 생성한 후에 추상 메서드를 호출해야 합니다.
4. 예제 코드
아래의 Kotlin 예제 코드는 Animal
이라는 추상 클래스와 Dog
라는 하위 클래스를 정의하고, Animal
클래스 내부에서 makeSound
라는 추상 메서드를 호출하는 방법을 보여줍니다.
abstract class Animal {
abstract fun makeSound()
fun communicate() {
makeSound()
}
}
class Dog : Animal() {
override fun makeSound() {
println("Woof woof!")
}
}
fun main() {
val dog = Dog()
dog.communicate()
}