클래스 상속 관계
상속 하는 이유?
다형성
유지보수 줄일 수 있다
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
fun main() {
var bird = Bird()
var chicken = Chicken()
var sparrow = Sparrow()
var pigeon = Pigeon()
bird.fly()
chicken.fly()
sparrow.fly()
pigeon.fly()
}
open class Bird { // 하위클래스 받으려면 open 써야됨
fun fly() {
println("새는 난다")
}
}
class Chicken : Bird() {} //부모가 누군지
class Sparrow : Bird() {} //부모가 누군지
class Pigeon: Bird() {} //부모가 누군지
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
// 부모 클래스에서 생성자를 활용하는 경우 자식에 객채 생성 전달 해주기
fun main() {
var bird = Bird("새")
var chicken = Chicken("닭")
var sparrow = Sparrow("참새")
var pigeon = Pigeon("비둘기")
bird.fly()
chicken.fly()
sparrow.fly()
pigeon.fly()
}
open class Bird(name:String) { //open을 꼭 써야됨
var name: String = ""
init {
// this는 현재 클래스의 상태변수를 의미합니다
// var name: String = ""
this.name = name
}
fun fly() {
println("${name} 날아요~")
}
}
class Chicken(name: String) : Bird(name) {}
class Sparrow(name: String) : Bird(name) {}
class Pigeon(name: String) : Bird(name) {}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
'개발일기' 카테고리의 다른 글
23.07.18 부트캠프 9일차 클래스 설계 (0) | 2023.07.18 |
---|---|
23.07.18 부트캠프 9일차 메소드 설계 (0) | 2023.07.18 |
23.07.17 부트캠프 8일차 TIL (0) | 2023.07.17 |
23.07.15 부트캠프 6일차 TIL (0) | 2023.07.17 |
23.07.14 부트캠프 5일차 TIL (0) | 2023.07.14 |