Kotlin - Abstract

이동수·2024년 9월 9일

Kotlin

목록 보기
21/33
post-thumbnail

추상화(abstract)

이름만 만들어 논거를 서브클래스에서 제대로 만듬

  • 기본으로 open속성 가짐
  • abstract class animal(){ //일부 함수가 구현되지 않은 미완성 클래스, 단독으로는 인스턴스를 만들 수 없음
    fun main(){
        var r = rabit()
        r.eat()
        r.intro
    }
    abstract class animal(){        
        abstract fun eat()  //abstract가 붙은 추상클래스는 일부함수ㅡ가 구현되지않은거니까 단독으로 인스턴스 만들수없음
        fun intro(){
            println("저는 입니다")
        }
    }
    class rabit : animal(){
        override fun eat(){ 
            println("당근냠")
        }
    }
  • abstract구현할때 override써서 구현

추상화를 하는 다른 방법 - 인터페이스
원래의 인터페이스 - 추상함수로만(추상클래스처럼 다른 변수가 없음) 이루어져 있는 '순수 추상화 기능'
추ㅜㅊ

추상클래스 사용

  • 저수준 핸들링할때 사용
  • 라이브러리나 api개발에 쓰임
  • low level(native code —> c, c++)과 연동할때 쓰임
  • 일반적으로는 interface를 씀

0개의 댓글