[kotlin] 코틀린 추상 클래스의 상속과 구현

코틀린은 객체 지향 프로그래밍 언어이며, 추상 클래스는 일부 메서드를 정의하지 않고, 서브클래스에서 구현하도록 남겨둘 수 있는 클래스입니다. 이 게시물에서는 코틀린에서 추상 클래스를 상속하고 구현하는 방법에 대해 설명하겠습니다.

추상 클래스 정의

추상 클래스는 abstract 키워드를 사용하여 정의되며, 일반적인 클래스와 동일하게 프로퍼티, 추상 메서드, 일반 메서드를 포함할 수 있습니다. 다음은 추상 클래스의 간단한 예제입니다.

abstract class Shape {
    abstract fun calculateArea(): Double
    open fun display() {
        println("Displaying shape")
    }
}

위의 코드에서 Shape 클래스는 abstract 키워드로 정의되었으며, calculateArea 메서드는 추상 메서드로 정의되었습니다. display 메서드는 일반 메서드이며, 기본 구현이 제공되어 있습니다.

추상 클래스 상속과 구현

다음은 추상 클래스를 상속하고 구현하는 방법에 대한 예제입니다.

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

위의 코드에서 Circle 클래스는 Shape 클래스를 상속받았습니다. calculateArea 메서드를 구현하여 원의 면적을 계산하고, display 메서드를 오버라이드하여 원을 표시하는 추가 동작을 정의할 수 있습니다.

요약

코틀린에서는 abstract 키워드를 사용하여 추상 클래스를 정의할 수 있으며, 서브클래스에서 추상 메서드를 구현하거나 메서드를 오버라이드할 수 있습니다. 이를 통해 코드의 재사용성과 유연성을 향상시킬 수 있습니다.

위의 내용은 코틀린 추상 클래스에 대한 간단한 소개입니다. 세부 내용은 코틀린 문서를 참조하시기 바랍니다.

참고 자료: