본문 바로가기
Study/WEB

[Kotlin] 추상화 (abstract, interface)

by Becoming a Hacker 2022. 1. 5.
반응형

abstract

기존 추상화 개념과 같음.

 

예제1

fun main(){
    var a = real_Man()
    a.run()
    a.sniff()
    
}

abstract class Man {
    abstract fun run()
    fun sniff(){
        println("냄새를 맡는 중")
    }
}

class real_Man: Man(){
    override fun run(){
        println("달리는 중")
    }
}

 

예제1 결과

예제1 결과

 

interface

abstract, open 등과 같은 키워드를 사용하지 않더라도 추론을 통해 자동 적용되며, 한 번에 여러 인터페이스를 상속 시킬 수 있음.

 

예제2

fun main(){
    var a = Man()
    a.run()
    a.eat()
    
}

interface Runner {
    fun run() // equals abstract fun run()
}

interface Eater {
    fun eat() { // equals open fun eat()
        println("먹는 중")
    } 
}

class Man: Runner, Eater{
    override fun run(){
        println("달리는 중")
    }
}

 

예제2 결과

예제2 결과

반응형

'Study > WEB' 카테고리의 다른 글

[Kotlin] 스코프 함수  (0) 2022.01.05
[Kotlin] 고차함수  (0) 2022.01.05
[Kotlin] Class 상속 및 오버라이딩 방법  (0) 2022.01.05
[Kotlin] 보조 생성자  (0) 2022.01.05
[Kotlin] label를 통한 다중 for문 종료  (0) 2022.01.05

댓글