728x90
반응형
# 상속
- 부모클래스로 부터 데이터(필드, 메소드)를 물려 받습니다.
- 코틀린에서의 최상의 클래스는 Any이다 .
- 명시적으로 상속관계를 표현하기 위해서는 class 의 헤더부분에 콜론(:) 과 상속받고자 하는 클래스를 적어주면 된다 .
- 상속관계에서는 open 키워드를 사용해야한다 .
이유는 Kotlin에서 class는 기본적으로 final로 되어있기때문에 open을 사용해주어서 열어줘야 한다 .
- 오버라이딩 될 메서드에는 open 어노테이션을
- 오버라이딩 된 메서드에서는 override 어노테이션을 사용하여야 한다 .
출처: https://zzdd1558.tistory.com/238 [윤들윤들]
open class Car3() {
open fun drive(): String{
return "주행합니다."
}
fun stop(): String{
return "멈춥니다."
}
}
class Taxi(): Car3() {
override fun drive(): String{
// return "빠르게 주행합니다."
val run = super.drive()
return "빠르게 $run"
}
}
fun main(args: Array<String>){
val taxi: Taxi = Taxi()
println(taxi.drive())
}
# 인터페이스 (interface)
인터페이스는 개발의 대한 약속!
● 상속이 만들어낸 특징
- 자식 클래스는 부모 클래스의 타입
- 부모 클래스는 자식 클래스의 타입이 아님
● 상속과 다른점
- 상속은 조상을 찾아 데이터를 받는 방법
- 인터페이스는 종의 특징
예시 )
interface Person {
fun eat()
fun sleep()
}
interface Human{
fun eat(){
println("먹습니다.")
}
fun sleep(){
println("잡니다.")
}
abstract fun study()
}
class Student1: Person{
override fun eat() {
println("먹습니다.")
}
override fun sleep() {
println("잡니다.")
}
}
class Student2 : Human{
override fun study() {
println("공부합니다.")
}
}
fun main(args: Array<String>){
val student1: Student1 = Student1()
student1.eat()
student1.sleep()
val student2: Student2 = Student2()
student2.eat()
student2.sleep()
student2.study()
}
728x90
반응형
'🎨 Programming > Android(Kotlin)' 카테고리의 다른 글
[Kotlin] 13. 안드로이드 레이아웃(layout) 종류 (0) | 2020.12.03 |
---|---|
[Kotlin] 12. 안드로이드 PX, DP, DPI의 개념 (0) | 2020.12.02 |
[Kotlin] 10. 기사와 몬스터의 대결 게임 ( 예시 ) (0) | 2020.12.01 |
[Kotlin] 9. 변수의 접근 범위 & 접근 제한자(Access Modifier) (0) | 2020.12.01 |
[Kotlin] 8. 은행 계좌 만들기 (예시) (0) | 2020.12.01 |