open class top{
open fun aaa(){
println("aaa")
}
open fun aaa(par:Int){
println("ccc")
}
}
open class middle : top() {
override fun aaa() {
println("bbb")
}
}
fun main(){
var a : top = top()
var b : top = middle()
var c : middle = middle()
a.aaa()
b.aaa()
c.aaa()
c.aaa(10)
}
코틀린은 이렇게 했을 때
결과가
aaa
bbb
bbb
ccc
로 나옵니다.