[kotlin] 추상 클래스의 상속 계층 구조
추상 클래스는 다른 클래스에서 공통된 메서드를 정의하기 위해 사용됩니다. 이러한 추상 클래스는 다른 클래스에서 상속되어 사용되며, 상속 관계가 형성됩니다. 이번 글에서는 추상 클래스의 상속 계층 구조에 대해 알아보겠습니다.
추상 클래스의 정의
추상 클래스는 abstract
키워드를 사용하여 정의됩니다. 이 클래스는 추상 메서드와 비추상 메서드를 포함할 수 있으며, 하위 클래스에서 반드시 구현해야 하는 메서드를 명시할 수 있습니다.
예시:
abstract class Shape {
abstract fun calculateArea(): Double
fun display() {
println("Displaying shape")
}
}
위의 예시에서 Shape
클래스는 추상 메서드인 calculateArea
와 비추상 메서드인 display
를 포함하고 있습니다.
추상 클래스의 상속
추상 클래스는 다른 클래스에게 상속될 수 있습니다. 하위 클래스는 상속받은 추상 메서드를 반드시 구현해야 합니다. 이때, 추상 클래스의 하위 클래스가 또 다른 클래스에게 상속될 수도 있습니다. 이와 같이 상속 계층 구조가 형성됩니다.
예시:
class Circle : Shape() {
override fun calculateArea(): Double {
// Area calculation for circle
}
}
위의 예시에서 Circle
클래스는 Shape
추상 클래스를 상속하고 calculateArea
메서드를 구현합니다.
결론
추상 클래스의 상속 계층 구조를 이해하고 추상 클래스와 하위 클래스 간의 관계를 잘 구성하는 것은 객체지향 프로그래밍에서 중요한 요소입니다. 상속 계층 구조를 효과적으로 활용함으로써 코드의 재사용성을 높일 수 있습니다.