μμλ°μ λΆλͺ¨ ν΄λμ€μ μ 보(νλ‘νΌν°)λ νμ(λ©μλ)λ₯Ό μ¬μ€κ³λ κ²μ μ€λ²λΌμ΄λ©μ΄λΌκ³ νλ€. μ£Όλ‘ λΆλͺ¨ ν΄λμ€μ νμ(λ©μλ)λ₯Ό μ¬μ€κ³νλ€.
μμλ°μ λ©μλλ₯Ό μ€λ²λΌμ΄λ© νκ³ μΆμλ μμ ν΄λμ€ λ΄λΆμμ λ¨μΆν€ μ λ ₯
[μ€λ²λΌμ΄λ© λ¨μΆν€]
Control + O
fun main() {
var bird = Bird("μ")
var chicken = Chicken("λ", 2)
var sparrow = Sparrow("μ°Έμ", "κ°μ")
var pigeon = Pigeon("λΉλκΈ°", "μμΈ")
bird.fly()
chicken.fly()
sparrow.fly()
pigeon.fly()
}
open class Bird(name:String) {
var name: String = ""
init {
this.name = name
}
open fun fly() { // fun() μμ openμ΄ λΆμ건 μ΄ λ©μλλ₯Ό νμ₯ν΄μ μμν΄λμ€κ° μΈ μ μκ²(μ€λ²λΌμ΄λ©, μ¬μ€κ³ ν μ μκ²) ν΄ μ£Όκ² λ€λ κ²!
println("${name}λ λ μμ~")
}
}
class Chicken(name: String, age: Int) : Bird(name) {
var age:Int = 0
init {
this.age = age
}
override fun fly() {
// super.fly() // superκ°μ²΄λ λΆλͺ¨μ κ°μ²΄λ₯Ό μλ―Ένλ©° μ€λ²λΌμ΄λ©μ νλ©΄ μλμΌλ‘ μμ±λ¨. μ¦ λΆλͺ¨κ°μ²΄μ flyλ©μλλ₯Ό λΆλ₯΄λ νμ. μ§κΈμ νμμμΌλ μ£Όμμ²λ¦¬!
println("${age}μ΄μ ${name}μ΄ λ μλ΄
λλ€~ κΌ¬λΌμ€!") // λΆλͺ¨ ν΄λμ€μ κ°μ μ΄λ¦μΌλ‘ fly λ©μλλ₯Ό μ¨λ μ¬μ€κ³ ν΄μ λ€λ₯΄κ² μΈ μ μμ
}
}
class Sparrow(name: String, color: String) : Bird(name) {
var color:String = ""
init {
this.color = color
}
override fun fly() {
// super.fly()
println("${color}μ ${name}κ° λ μλ΄
λλ€~ μ§Ήμ§Ή!")
}
}
class Pigeon(name: String, address: String) : Bird(name) {
var address: String = ""
init {
this.address = address
}
override fun fly() {
// super.fly()
println("${address} μ΄κ³ μλ ${name}κ° λ μλ΄
λλ€~ ꡬꡬ!")
}
}
/*
--> κ²°κ³Ό
μλ λ μμ~
2μ΄μ λμ΄ λ μλ΄
λλ€~ κΌ¬λΌμ€!
κ°μμ μ°Έμκ° λ μλ΄
λλ€~ μ§Ήμ§Ή!
μμΈ μ΄κ³ μλ λΉλκΈ°κ° λ μλ΄
λλ€~ ꡬꡬ!
*/
μ€λ²λΌμ΄λ©κ³Ό μ ν λ€λ₯Έ κ°λ
!
λμΌν μ΄λ¦μ λ©μλλ₯Ό μ¬λ¬ ννλ‘ λ§λ€ μ μλ€.
λ κ°μ μ μλ₯Ό λ§€κ°λ³μλ‘ λ°μ λνλ λ©μλλ₯Ό addλΌλ μ΄λ¦μΌλ‘ λ§λ€μλ€κ³ ν΄λ³΄μ. νμ§λ§ λ κ°μ μ€μ(μμ)λ₯Ό λ§€κ°λ³μλ‘ λ°μ λνλ λ©μλλ λ§λ€μ΄μΌνλ€. λνλκ±°λκΉ addλΌλ μ΄λ¦μ΄ μ ν©νλ°.. addInt, addDouble μ΄λ κ² λ©μλλ₯Ό λ°λ‘ λ§λλ건 λμ€μ κ΄λ¦¬νκΈ° νλ€μ΄μ§λ€.
μ΄ μν©μμλ λν΄μΌνλ μλ£νμ΄ μ μ, μ€μλ‘ λ€λ₯΄λκΉ μ€λ²λ‘λ©μΌλ‘ ν΄κ²°ν μ μλ€.
μ μλ μ€μκ° λκ°λ₯Ό λ§€κ°λ³μλ‘ λ°μμ λ§μ κ²°κ³Όλ₯Ό 리ν΄ν΄μ£Όλ addλ©μλλ₯Ό λ§λ€μ΄λ³΄μ.
fun main() {
var calc = Calculator()
var intResult = calc.add(1,2) // λ§€κ°λ³μλ‘ μ μ 1κ³Ό 2λ₯Ό 쀬μΌλ μ»΄νμΌν λ λ°μ 2κ°μ add λ©μλ μ€ Intλ₯Ό λ§€κ°λ³μλ‘ λ°λ 첫 λ²μ§Έ λ©μλλ₯Ό μ€ν
var doubleResult = calc.add(1.2, 2.2)
println("μ μ λ§μ
κ²°κ³Ό: ${intResult}")
println("μ€μ λ§μ
κ²°κ³Ό: ${doubleResult}")
}
class Calculator {
fun add(num1: Int, num2: Int): Int {
return num1+num2
}
fun add(num1: Double, num2: Double): Double {
return num1+num2
}
}