Search
📗

20강. Overriding

무단 도용 및 복제, 사용 저작권 안내 수업 목적 외에 모든 교안 자료를 무단으로 도용 (URL 연결, 복제, 공유), 불법으로 복사하여 배포하는 것을 금지합니다. 꼭 지켜주세요!

1. 부모 클래스 타입의 변수

Kotlin의 모든 객체는 부모 클래스형 참조 변수에 담을 수 있다.
부모 클래스형 참조 변수를 사용하면 부모 클래스에 정의되어 있는 맴버만 사용이 가능하다.

2. Overriding

부모 클래스가 가지고 있는 메서드를 자식 클래스에서 재 정의하는 개념이다.
부모가 가지고 있는 메서드의 이름, 매개 변수 형태 모두 동일 해야 한다.
open class SuperClass1{ open fun super_method2(){ println("SuperClass1의 super_method2") } } class SubClass1 : SuperClass1() { override fun super_method2() { println("SubClass1의 super_method2") } }
Kotlin
복사

3. Overriding의 효과

만약 객체가 부모형 참조변수에 담겨 있다면 부모 영역에 정의한 맴버만 사용할 수 있다.
만약 부모의 메서드를 자식에서 Overriding을 했다면 부모형 참조 변수를 통해 자식의 메서드를 호출 할 수 있다.
이는 이벤트 처리 방식에서 사건이 발생했을 경우 개발자가 만든 메서드를 호출하기 위해 사용하는 매우 중요한 개념이다.

4. super

메서드를 Overriding한 경우 부모의 메서드를 호출하고자 한다면 super 키워드를 사용한다.
super는 상속관계에서 부모를 의미한다.

5. 학습 정리

정리
부모형 참조변수에 객체의 주소 값을 담으면 부모 클래스 영역에 정의한 맴버에 접근할 수 있다.
만약 자식에서 메서드를 Overriding 했다면 부모형 참조 변수에서 자식의 메서드를 호출 할 수 있다.