[kotlin] 추상 클래스의 다른 클래스와의 관계

추상 클래스일반 클래스인터페이스와 매우 密切한 관계를 가지고 있습니다.

추상 클래스와 일반 클래스의 관계

추상 클래스는 하위 클래스에서 공통된 속성이나 행위를 상속받기 위한 목적으로 사용됩니다. 일반 클래스는 추상 클래스를 상속받아 추상 클래스에 정의된 추상 메서드를 구현하여 사용합니다.

예를 들어, 다음은 Kotlin으로 작성된 추상 클래스와 이를 상속하는 일반 클래스의 예시입니다.

abstract class Shape {
    abstract fun calculateArea(): Double
}

class Circle(val radius: Double) : Shape() {
    override fun calculateArea(): Double {
        return Math.PI * radius * radius
    }
}

class Rectangle(val width: Double, val height: Double) : Shape() {
    override fun calculateArea(): Double {
        return width * height
    }
}

위 코드에서 Shape 클래스는 calculateArea라는 추상 메서드를 가지고 있습니다. CircleRectangle 클래스는 Shape 클래스를 상속받아 calculateArea 메서드를 오버라이드하여 원과 사각형의 면적을 구하는 코드를 포함하고 있습니다.

이렇게 하위 클래스에서 추상 메서드를 구현함으로써, 추상 클래스의 특성을 상속받아 사용할 수 있게 됩니다.

결론

추상 클래스는 하위 클래스에게 공통적인 기능을 상속하기 위해 사용되며, 이를 통해 코드의 재사용성과 유지보수가 효율적으로 이뤄질 수 있습니다.

참조 문헌: