상속
부모 클래스에서 중복되는 메소드 가져오기
Chicken의 fly 메소드 사용이 가능해졌다. 상속받으려면 부모클래스에서 open해주어야 한다.
open class Bird {
fun fly()
}
class Chicken : Bird() {
}
override 오버라이딩
부모클래스에서 특정메소드 커스텀해서 쓰고 싶을때 사용.
open class Bird(name) {
open fun fly() {
}
}
class Chicken(name: String, age: Int) : Bird(name) {
override fun fly() {
}
}
overload 오버로드
매개변수의 갯수 또는 자료형만 다른녀석인데 동일한 이름으로 쓰면 안되나 해서 나온 녀석(가능하다.)
class calculator {
fun add(num1:Int, num2:Int){
}
fun add(num1:DouBle, num2:DouBle){
}
}
Interface 인터페이스
코틀린은 반드시 한 개의 부모클래스만 상속받을 수 있다.
따라서 근본적인 공통점을 상속 받고, 추가적인 기능들은 인터페이스로 추가한다.
추상 메소드 -> 로직이 존재하지 않고 이름만 존재할 때 추상 메소드라 부른다.
기본적으로 인터페이스는 추상메소드만 작성하는게 원칙이나 최근에는 아니여도 괜찮다는 흐름.
왜 추상메소드로 작성하냐 -> 어차피 자식 클래스에서 오버라이딩해서 작성할거니까
interface 인터페이스이름 {
fun 메소드이름()
}
class Duck(name: String) : Bird(name), WaterBirdBehavior {
override fun swim() {
}
}
'Kotlin' 카테고리의 다른 글
Kotlin 지연초기화 그리고 Null Exception (0) | 2023.11.27 |
---|---|
Kotlin 예외 처리 (try-catch, throw) (0) | 2023.11.27 |
Kotlin 접근제한자 (0) | 2023.11.27 |
Kotlin Method & Class (0) | 2023.11.27 |
Kotlin View Binding (Activity,Fragment,Adapter).feat(lazy&&lateinit) (0) | 2023.11.21 |