Notice
Recent Posts
Recent Comments
Link
투케이2K
16. (kotlin/코틀린) open 사용해 부모 정의 및 override 부모 재정의 수행 실시 - 상속, 재정의, 오버라이딩 (overriding) 본문
Kotlin
16. (kotlin/코틀린) open 사용해 부모 정의 및 override 부모 재정의 수행 실시 - 상속, 재정의, 오버라이딩 (overriding)
투케이2K 2021. 4. 15. 10:12/* =========================== */
[개발 환경 설정]
개발 툴 : Eclipse
개발 언어 : kotlin
/* =========================== */
/* =========================== */
[소스 코드]
package ex1
//===== [코틀린 부모 클래스 선언 부분] =====
open class Parent {
//메소드 정의
open fun one_excute() {
println("Parent 클래스 > one_excute() 메소드")
}
//메소드 정의
open fun two_excute() { }
//메소드 정의
open fun three_excute() {
println("Parent 클래스 > three_excute() 메소드")
}
}
//===== [코틀린 자식 클래스 선언 부분] =====
class Child : Parent() {
//override 사용해 부모 클래스 메소드 재정의 실시
override fun two_excute() {
println("Child 클래스 > two_excute() 메소드")
}
//override 사용해 부모 클래스 메소드 재정의 실시
override fun three_excute() {
super.three_excute()
println("Child 클래스 > three_excute() 메소드")
}
}
//===== [코틀린 메인 시작 부분] =====
fun main(args : Array<String>) {
/*
[설 명]
1. open 은 코틀린에서 상속을 사용할 수있게 클래스 및 메소드를 지정해주는 키워드입니다
2. override 는 코틀린에서 상속받은 메소드를 재정의할 때 사용합니다
3. super 는 코틀린에서 부모를 상속받은 자식쪽에서 다시 부모를 호출할 때 사용합니다 (부모 지정)
*/
println("[open 사용해 부모 정의 및 override 부모 재정의 수행 실시 - 상속, 재정의, 오버라이딩 (overriding)]")
//child 클래스 객체 생성 실시
var child = Child()
//child 메소드 호출 실시
child.one_excute() //자식쪽에서는 부모를 상속받았기 때문에 부모 메소드 즉시 호출 가능합니다
child.two_excute() //자식쪽에서 재정의한 메소드 호출
child.three_excute() //자식쪽에서 재정의한 메소드 호출
}//메인 종료
/* =========================== */
/* =========================== */
[결과 출력]
/* =========================== */
/* =========================== */
[요약 설명]
1. open 은 코틀린에서 상속을 사용할 수있게 클래스 및 메소드를 지정해주는 키워드입니다
2. override 는 코틀린에서 상속받은 메소드를 재정의할 때 사용합니다
3. super 는 코틀린에서 부모를 상속받은 자식쪽에서 다시 부모를 호출할 때 사용합니다 (부모 지정)
/* =========================== */
반응형
'Kotlin' 카테고리의 다른 글
Comments