투케이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 는 코틀린에서 부모를 상속받은 자식쪽에서 다시 부모를 호출할 때 사용합니다 (부모 지정)

/* =========================== */

반응형
Comments