Kotlin

Abstract

본이qq 2022. 9. 2. 10:12

추상클래스 : 상속을 위한 클래스. 멤버메서드의  override 강제성을 부여하기위해 사용

재정의(override) 강제성이 있는 메서드와 없는 메서드를 동시 사용이 가능합니다.

open abstract class Super1{

    open fun method1(){
        println("Super1의 method1 입니다")
    }
    open abstract fun method2()  // 재정의(override) 강제성이 부여된  추상메서드
}

 

->추상 클래스 Super1 생성 

 

 

class Sub1:Super1(){
    override fun method2() {
        println("Sub1의 method2 입니다")
    }
}

class Sub2:Super1(){
    override fun method2() {
        println("Sub2의 method2 입니다")
    }
}

-> Super1 추상 클래스를 상속하고 추상 메서드를 오버라이딩한 Sub 클래스 2개 생성

 

<Main>

val obj1 = Sub1()
obj1.method1()
obj1.method2()
println("----------------------------------------------")
val obj2 = Sub2()
obj2.method1()
obj2.method2()

 

 

 

 

 

<함수 생성>

fun testFuntion(obj1:Super1){
    obj1.method1()
    obj1.method2()
}

 

<Main>

testFuntion(obj1)
testFuntion(obj2)

 

 

 

 

'Kotlin' 카테고리의 다른 글

Companion  (0) 2022.09.02
Interface  (0) 2022.09.02
ThisSuper  (0) 2022.09.02
Any 클래스  (0) 2022.09.02
Override  (0) 2022.09.02