안드로이드 개발자의 창고
[15일차 Kotlin] 인터페이스(Interface) 본문
출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT
📖 인터페이스(Interface)란?
- Kotlin은 다중 상속을 지원하지 않기 때문에 자기 타입의 변수나 부모형 타입 변수에만 담을 수 있다.
- 만약 생성된 객체의 주소 값을 다양한 타입의 변수에 담을 수 있도록 한다면 인터페이스를 활용하면 된다.
-
인터페이스는 클래스가 아니므로 객체를 생성할 때 사용할 수 없다.
-
단, 클래스는 한 개 이상의 인터페이스를 구현할 수 있으며 생성된 객체는 구현한 인터페이스형 참조 변수에 담을 수 있다.
-
인터페이스에는 추상 메서드와 일반 메서드 모두를 구현해서 사용할 수 있다.
-
인터페이스는 추상 클래스와 목적이 비슷하지만 하나의 클래스에 여러 인터페이스를 구현할 수 있는 장점을 가지고 있다.
📖 예제 코드
interface Inter1{
fun interfaceMethod1()
}
interface Inter2{
fun interfaceMethod2()
}
interface Inter3{
fun interfaceMethod3()
}
// 인터페이스를 정의한 클래스
class TestClass4 : Inter1, Inter2, Inter3{
override fun interfaceMethod1() {
println("TestClass4의 interfaceMethod1")
}
override fun interfaceMethod2() {
println("TestClass4의 interfaceMethod2")
}
override fun interfaceMethod3() {
println("TestClass4의 interfaceMethod3")
}
}
'Computer > Kotlin' 카테고리의 다른 글
[16일차 Kotlin] Data Class (0) | 2023.05.18 |
---|---|
[16일차 Kotlin] Companion (0) | 2023.05.18 |
[15일차 Kotlin] 추상화(abstract) (0) | 2023.05.17 |
[15일차 Kotlin] Any (0) | 2023.05.17 |
[14일차 Kotlin] Overriding(오버라이딩) (0) | 2023.05.17 |