찌니의 프로그래밍 삼매경

[kotlin] 코틀린 클래스의 상속 본문

코틀린

[kotlin] 코틀린 클래스의 상속

zzI니☆ 2021. 9. 12. 01:33
728x90

상속이 필요한 경우는 두 가지

  1. 이미 존재하는 클래스를 상속하여 새로운 클래스를 생성
  2. 여러개의의 클래스가 존재하는데 클래스들의 공통점을 뽑아 코드관리를 편하게 하기 위해

 

코틀린은 상속 금지가 기본값

fun main() {
    var a = Animal("티몬", 3, "댕댕이")
    var b = Dog("티몬", 3)
    
    // a와 b 같은결과 확인 가능
    a.introduction()
    b.introduction()
    b.bark()
    
    var c = Cat("품바", 2)
    c.introduction()
    c.meow()
}

// 코틀린은 상속 금지가 기본값
// open은 클래스가 상속될 수 있도록 하는 키워드
open class Animal(var name:String, var age:Int, var type:String){
    fun introduction(){
        println("저는 ${type} ${name}이고, ${age}살 입니다.")
    }
}

// 서브 클래스 생성 시 반드시 슈퍼클래스의 생성자까지 호출되어야 함
// 클래스 선언 뒤에 콜론을 붙이고 슈퍼 클래스의 생성자 호출
class Dog(name:String, age:Int): Animal(name,age,"댕댕이"){
    // 서브 클래스만의 함수 구현 가능
    fun bark(){
        println("멍멍멍\n")
    }
}

class Cat(name:String, age:Int): Animal(name,age,"냐옹이"){
    fun meow(){
        println("야오옹")
    }
}

728x90

'코틀린' 카테고리의 다른 글

[kotlin] 코틀린 클래스 생성자  (0) 2021.09.10
[kotlin] 코틀린 클래스 기본구조  (3) 2021.09.08
[kotlin] 코틀린 반복문  (0) 2021.09.07
[kotlin] 코틀린 조건문 비교연산자  (2) 2021.09.06
[kotlin] 코틀린 함수  (0) 2021.08.18
Comments