Kotlin - Interface

이동수·2024년 9월 9일

Kotlin

목록 보기
20/33
post-thumbnail

엄청 중요하다. 여기는 나중에 다시 제대로 정리해 놓자

인터페이스(interface)

  • 어떤 소프트웨어를 개발할때 표준 명세를 제공하기 위함
  • 서로다른 기능들을 여러개 물려주어야할때 유용
  • 생성자 가질 수 없음
  • 추상함수, 속성 으로 구성됨
  • 기본으로 abstract속성 가짐
    • 구현부가 있는 함수 -> open함수로 기본적으로 간주(별도의 키워드 없어도됨)

      interface A{
      	fun c(){
      		print("asd") //open생략
      	}
      }
    • 구현부가 없는 함수 -> abstract함수로 기본적으로 간주(별도의 키워드 없어도됨)

      interface A{
      	fun c(){
      		print("asd") //abstract 생략
      	}
      }
    • open abstract 없어도 서브클래스에서 구현, 재정의 가능(서브클래스에서는 override 써야함)

  • 한번에 여러 인터페이스 상속받을 수 있음
    class dog : run, eat
  • 상속, 인터페이스 동시에 상속가능
    Interface a{
    }
    Interface a2{
    }
    open class a3{
    }
    
    class b: a(),a,a2 {
    }
    fun main(){
    
    }
    interface  run{
        fun r()  //abstract 생략
    }
    interface eat{
        fun e(){  //open 생략
            print("내ㅑㅁ")
        }
    }
    class ddog : run, eat{      //dog는 두인터페이스 상속받은 서브클래스
        override fun e() {
            super.e()
        }
    
        override fun r() {
            TODO("Not yet implemented")
        }
    }
  • 함수를 구현 할수도 있는데 그냥 하지마!

interface 사용하는 곳

  • JEE(엔터프라이즈 에디션)
  • JDBC
  • API 등

번외

  • interface는 작으면 작을수록 좋다. (최대한 작게 구현)
  • 팀프할때는 interface부터 구현한다

0개의 댓글