본문 바로가기
개발일기

23.07.21 부트캠프 12일차 WIL 상속, 오버라이딩, 오버로딩

by 빛나는맛과탕탕 2023. 7. 21.
반응형

WIL 과제 LV.3 

 

 

이해가 안갔지만?

 

 

 

오버로딩, 오버라이딩, 상속 이 부분을 중점적으로 계속 보고있었다.

 

 

 

상속에서 부터 다시 시작

 

 

5강 심화과정

 

 

비동기 프로그래밍의 기초

 

 

코드를 효율적으로 작성 

 

 

 

 

 

fun main() {

    var bird = Bird("새")
    var sparrow = Sparrow("참새", 2)
    var chicken = Chicken("닭", "갈색")

    bird.fly()//함수호출
    sparrow.fly()
    chicken.fly()


}

open class Bird(name: String) {
    var name: String = ""

    init {
        this.name = name
    }

    open fun fly() {
        println("${name}이 난다요")
    }
}

    class Chicken(name: String, color: String) : Bird(name) {
        var color: String = ""

        init {
            this.color = color
        }

        override fun fly() {
            println("${name} 나이는 ${color}")
        }

    }


class Sparrow(name: String, age: Int) : Bird(name) {
    var age: Int = 0

    init {
        this.age = age
    }

    override fun fly() {
        println("${name} 나이는 ${age}")
    }

}

 

 

 

 

 

fun main() {
    val calc = Calculator() // 변수 선언
    println("${calc.addOperation(AddOperation(), 1, 2)}") 
}



class Calculator {
    fun addOperation(operation: AddOperation, num1: Int, num2: Int): Double {
        return operation.operate(num1, num2)
    }
}



class AddOperation{
    fun operate(num1: Int, num2: Int): Double = (num1 + num2).toDouble() //double값을 리턴
}

 

과제 3번에 대해서 다시 보게 되었다.

 

 

집중이 안되었다.

 

 

변명이 필요한건가?!

 

 

 

오늘 3단계 과제를 하면서 벽을 올라가는 느낌이였다.

 

 

 

벽을 올라갈 수 있겠죠?

 

 

 

 

반응형