무단 도용 및 복제, 사용 저작권 안내
수업 목적 외에 모든 교안 자료를 무단으로 도용 (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 했다면 부모형 참조 변수에서 자식의 메서드를 호출 할 수 있다.