코틀린 인터페이스
- Java 와 달리 인터페이스 함수가 구현부를 가질 수도 있고, 추상함수만 가질 수도 있다.
- 상속과 마찬가지로 콜론(:)을 사용해서 인터페이스를 구현한다.
자바에서는 클래스의 상속과 인터페이스의 구현을 extends 와 implements로 구분한다.
- 상속은 한번에 하나밖에 안되지만, 인터페이스는 콤마(,)로 여러개를 구현 가능하다.
또한, 콜론(:)으로 동시에 클래스 상속과 인터페이스 구현이 가능하다.
- 코틀린에서는 상속받거나 구현한 함수의 앞에 무조건 override 키워드를 붙이도록 강제한다.
Java에서는 부모 클래스의 메서드를 재정의하거나 인터페이스 구현 메서드를 @Override 어노테이션으로 구분한다.
하지만 @Override 어노테이션 추가는 선택 사항이라 메서드의 유형을 코드만으로 구분하기는 어렵다.
fun main(args: Array<String>) { |
만약, 인터페이스 내의 함수들이 구현체가 있고, 중복된 함수가 있을 경우에는 어떻게 할까?
필요한 클래스의 super 를 호출할 수 있다. 둘 다 혹은 필요한 클래스의 함수만 호출해도 된다.
fun main(args: Array<String>) { |
'안드로이드 > Kotlin 문법' 카테고리의 다른 글
코틀린 접근 제한자 (0) | 2020.01.14 |
---|---|
코틀린 패키지 (0) | 2020.01.13 |
코틀린 추상클래스 (0) | 2020.01.12 |
코틀린(Kotlin) 클래스 선언 및 상속 (0) | 2020.01.12 |
코틀린 기본 이해 (0) | 2020.01.07 |