라벨이 Overrding 효과인 게시물 표시

Kotlin Overriding

Kotlin Overriding  Kotlin의 모든 객체는 부모 클래스형 참조 변수에 담을 수 있다. 부모 클래스형 참조 변수를 사용하면 부모 클래스에 정의되어 있는 멤버만 사용이 가능하다. fun main () { val obj1:SubClass1 = SubClass1() val obj2:SuperClass1 = obj1 println ( " ${ obj2. superA1 } " ) obj2.superMethod1() println ( " ${ obj2.subA1 } " ) // obj2 는 SuperClass 참조 변수이므로 , obj1 으로 선언을 했더라고 , 부모클래스의 멤버 변수 함수만 사용가능하다 . obj2.subMethod1() } open class SuperClass1{ var superA1 = 100 fun superMethod1 (){ println ( "SuerMethod1" ) } } class SubClass1 : SuperClass1() { var subA1 = 200 fun subMethod1 () { println ( "SubClass" ) } } Kotlin: Unresolved reference: subA1 Overriding  부모클래스가 가지고 있는 메서드를 자식 클래스에서 재 정의하는 개념이다. 부모가 가지고 있는 메서드의 이름, 매개 변수 형태 모두 동일해야 한다. fun main () { val obj1:SubClass1 = SubClass1() println (obj1. superA1 ) obj1.superMethod1() } open class SuperClass1{ var superA1