추상 클래스와 인터페이스 모두 상속과 기능 확장을 위한 도구로 비슷한 위치로 느껴진다.
면접에서도 자주 묻는, 추상 클래스와 인터페이스의 차이에 대해 알아보자
추상 클래스는 abstract
키워드가 붙는 클래스로 특징은 아래와 같다.
is a
관계open
open
클래스 상속 가능abstract class Car(val type: Int = 0) {
private val isVehicle = true
abstract val name: String
fun move() = "부릉부릉"
abstract fun drive(): Boolean
}