[kotlin] 추상 클래스에서 final 키워드의 사용 가능 여부
추상 클래스는 상속을 통해 확장될 목적으로 설계되므로, “final” 키워드를 사용하여 클래스를 상속할 수 없도록 막는 것은 일관성이 없습니다.
예를 들어, 다음과 같은 코드에서는 “final” 키워드를 사용할 수 없습니다.
abstract class Shape {
abstract fun draw()
}
final class Circle : Shape() { // 오류: 'final' 키워드는 추상 클래스에서 사용할 수 없습니다
override fun draw() {
// draw circle
}
}
따라서, 추상 클래스에서 “final” 키워드를 사용하는 것은 불가능합니다.