openclassBase {openfunv() {}funnv() {}}classDerived : Base() {overridefunv() {}//open 키워드가 없는 Property와 function은 final이기 때문에 override를 할 수 없다.}
interfaceFoo {val count: Int}classBar1(overrideval count: Int) : FooclassBar2 : Foo { // interface는 생성자를 필요로 하지 않기 때문에 ()를 붙이지 않는다.overridevar count =0// val을 var로도 override할 수 있다. 그 반대는 불가하다.}