open class Super{
}
class Sub: Super(){
}
코틀린의 클래스는 기본적으로 상속이 불가능하다.
상속이 필요한 경우 상위 클래스는 open
키워드를 사용하여 허용하고, 하위 클래스는 :
를 붙여 상속을 나타낸다.
매개변수가 있을 경우 맞춰줘야한다.
open class Super(name:String){
}
class Sub(name:String): Super(name){
}
하위클래스에 보조생성자만 있을 경우 보조생성자에 작성한다.
class Sub: Super{
constructor(name:String):super(name){
}
}
오버라이드가 필요한 상위 클래스의 변수와 함수 앞에 모두 open
키워드를 붙여줘야한다.
open class Super{
open var someData = 10
open fun someFun(){
println("asdf")
}
}
class Sub: Super(){
override var someData = 20
override fun someFun(){
print("qwer")
}
}
기본적으로 생략할 경우 public
상태