[kotlin] 추상 클래스를 이용한 다른 클래스의 기본 동작 확장

일반적으로 프로그래머들은 기본적인 동작을 갖춘 추상 클래스를 작성하고, 이를 상속받아 다른 클래스에서 필요에 맞게 확장합니다. 이때 추상 클래스는 코드 재사용성을 늘리고, 일관된 동작을 유지하는 데 도움을 줍니다.

추상 클래스란 무엇인가요?

추상 클래스는 일반적으로 하나 이상의 추상 메서드를 포함하며, 일반 메서드도 함께 가질 수 있습니다. 추상 메서드는 구현이 없는 메서드로, 상속받은 클래스에서 구현해야 합니다. 추상 클래스는 직접적으로 인스턴스화할 수 없으며, 상속을 통해서만 사용됩니다.

Kotlin에서 추상 클래스 만들기

Kotlin에서 추상 클래스를 만들려면 abstract 키워드를 사용하면 됩니다. 다음은 추상 클래스를 정의하는 간단한 예제 코드입니다.

abstract class Shape {
    abstract fun draw()
    fun fill() {
        println("Filling the shape")
    }
}

위의 예제에서 Shape 클래스는 추상 메서드 draw와 일반 메서드 fill을 가지고 있습니다.

다른 클래스에서 추상 클래스 상속받기

다른 클래스에서 추상 클래스를 상속받아 필요한 동작을 구현할 수 있습니다. 다음은 Shape 클래스를 상속받는 간단한 예제 코드입니다.

class Circle : Shape() {
    override fun draw() {
        println("Drawing a circle")
    }
}

위의 예제에서 Circle 클래스는 draw 메서드를 구현하여 Shape 클래스를 상속받은 것을 보여줍니다.

결론

추상 클래스를 사용하면 여러 클래스 간에 공통된 동작을 갖추거나 확장할 수 있습니다. 추상 클래스를 이용하여 각 클래스에서 공통적인 부분을 추출하여 코드의 중복을 줄이고, 일관성 있는 프로그래밍을 할 수 있습니다.


참고문헌: