728x90
μ€λ²λΌμ΄λ©
- μμμ κΈ°λ³Έμ μΌλ‘ μνΌν΄λμ€μ μλ ν¨μμ κ°μ μ΄λ¦, ννλ₯Ό κ°μ§ ν¨μλ₯Ό μλΈν΄λμ€μμ μΈ μ μλ€.
- νμ§λ§ μνΌν΄λμ€μμ νμ©νλ€λ©΄ μ€λ²λΌμ΄λ© μ΄λΌλ λ°©λ²μΌλ‘ μλΈ ν΄λμ€μμ κ°μ μ΄λ¦κ³Ό ννλ‘ λ ν¨μμ λ΄μ©μ λ€μ ꡬνν μ μλ€.
μ€λ²λΌμ΄λ© λ°©λ²
- μνΌν΄λμ€μ ν¨μ μμ open ν€μλλ₯Ό λΆμ΄λ©΄ μλΈν΄λμ€μμ ν΄λΉ ν¨μλ₯Ό μλΈν΄λμ€μμ μ¬κ΅¬νμ΄ νμ©λλ€.
- μλΈν΄λμ€μμ ν¨μ μμ override ν€μλλ₯Ό λΆμ΄λ©΄ μλΈν΄λμ€μμ μ¬κ΅¬ν ν μ μλ€.
fun main(){
var a = Animal()
var t = Tiger()
a.eat()
t.eat()
}
open class Animal{
open fun eat(){
println("λ¨Ήμ΄ λ λ ")
}
}
class Tiger : Animal(){
override fun eat(){
println("κ³ κΈ° λ λ ")
}
}
μΆλ ₯
λ¨Ήμ΄ λ λ
κ³ κΈ° λ λ
μΆμν
- μνΌν΄λμ€μμ ν¨μμ ꡬ체μ μΈ κ΅¬νμ μκ³ , μνΌν΄λμ€μ λͺ¨λ μλΈν΄λμ€λ ν΄λΉ ν¨μκ° λ°λμ μμ΄μΌ νλ€λμ λ§ λͺ μνμ¬ κ° μλΈ ν΄λμ€κ° λΉμ΄μλ ν¨μμ λ΄μ©μ νμμ λ°λΌ ꡬννλλ‘ νλ€.
- μ μΈλΆλ§ μκ³ κΈ°λ₯μ ꡬννμ§ μμ μΆμν¨μμ, μΆμν¨μλ₯Ό ν¬ν¨νλ μΆμ ν΄λμ€λ‘ ꡬμ±λλ€.
- μΆμν¨μλ λ§μΉ λΉμ΄μλ κ»λ°κΈ° μν μ΄λ€.
μΆμν λ°©λ²
- μΆμ ν΄λμ€ μμ abstract ν€μλλ₯Ό λΆμΈλ€.
- μΆμ ν΄λμ€ μ μΆμν¨μλ₯Ό μ μΈν λ ν¨μ μμ abstract ν€μλλ₯Ό λΆμΈλ€.
- μΆμν¨μλ κ»λ°κΈ° ν¨μμ΄κΈ° λλ¬Έμ λ¨λ μΌλ‘ μ¬μ©ν μ μλ€. μλΈν΄λμ€μμ μΆμν¨μλ₯Ό μμλ°μ ꡬνμ ν΄μ€μΌμ§ μΈ μ μλ ν¨μλ€.
fun main(){
var rabbit = Rabbit()
rabbit.eat()
rabbit.sniff()
}
abstract class Animal{
abstract fun eat()
fun sniff(){
println("νν")
}
}
class Rabbit : Animal(){
override fun eat() {
println("λΉκ·Ό λ λ ")
}
}
μΆλ ₯
λΉκ·Ό λ λ
νν
μΈν°νμ΄μ€
- μΆμνμ λλ€λ₯Έ λ°©λ²μ΄λ€.
- λ€λ₯Έ μΈμ΄μμ μΈν°νμ΄μ€ κ°λ μ μΆμν¨μλ‘λ§ μ΄λ£¨μ΄μ Έ μλ μμ μΆμν κΈ°λ₯μ΄λ€. νμ§λ§ μ½νλ¦°μμλ μΈν°νμ΄μ€μ μμ±, μΆμν¨μ, μΌλ°ν¨μ λ€ κ°μ§ μ μλ€.
- λ€λ§ μΆμν¨μλ μμ±μλ₯Ό κ°μ§ μ μμ§λ§, μΈν°νμ΄μ€λ μμ±μλ₯Ό κ°μ§ μ μλ€.
- μΈν°νμ΄μ€μμ λ³λμ ν€μλ μμ΄ κ΅¬νλΆκ° μλ ν¨μλ μΌλ°ν¨μ, ꡬνλΆκ° μλ ν¨μλ μΆμν¨μλ‘ κ°μ£Όνλ€.
- μλΈν΄λμ€λ νλ²μ μ¬λ¬ μΈν°νμ΄μ€λ₯Ό μμλ°μ μ μλ€.
fun main(){
var dog = Dog()
dog.run()
dog.eat()
}
interface Runner{
fun run()
}
interface Eater{
fun eat(){
println("λ λ ")
}
}
class Dog : Runner, Eater{
override fun run() {
println("μ°λ€λ€λ€λ€!!")
}
override fun eat(){
println("νκ²μ§κ² λ λ ")
}
}
μΆλ ₯
μ°λ€λ€λ€λ€!!
νκ²μ§κ² λ λ
μ£Όμν μ
- μ¬λ¬κ°μ μΈν°νμ΄μ€λ ν΄λμ€μμ κ°μ μ΄λ¦κ³Ό ννλ₯Ό κ°μ§ ν¨μλ₯Ό ꡬννκ³ μλ€λ©΄ μλΈν΄λμ€μμ ν·κ°λ¦¬μ§ μκ² λ°λμ μ€λ²λΌμ΄λ©ν΄μ μ¬κ΅¬ν ν΄μ€μΌνλ€.
π‘μ€λ²λΌμ΄λ©μ μ΄λ―Έ ꡬνμ΄ λλ ν¨μμ κΈ°λ₯μ μλΈν΄λμ€μμ λ³κ²½ν΄μΌν λ μ΄λ€.
π‘μΆμνλ νμλ§ μ μΈνκ³ μλΈν΄λμ€μμ μ€μ ꡬν ν λ μ΄λ€.
π‘μλ‘ λ€λ₯Έ κΈ°λ₯λ€μ μ¬λ¬κ° λ¬Όλ €μ€μΌν λ μ΄λ€.
728x90
'μλλ‘μ΄λπ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μ½νλ¦°] κ³ μ°¨ν¨μ & λλ€ν¨μ (0) | 2024.06.26 |
---|---|
[μ½νλ¦°] μ€μ½ν & μ κ·Όμ νμ (0) | 2024.06.26 |
[μ½νλ¦°] μ½νλ¦°μ νλ‘μ νΈ κ΅¬μ‘° (0) | 2024.06.26 |
[μ½νλ¦°] ν΄λμ€μ μμ (0) | 2024.06.20 |
[μ½νλ¦°] ν΄λμ€μ μμ±μ (0) | 2024.06.20 |