μ λ€λ¦
μ λ€λ¦
, λ€λ₯Έ μΈμ΄λ₯Ό μ΄λ―Έ κ²½ννκ³ μλ€λ©΄ λ―μ λ¨μ΄λ μλλ€. λ λμΆ© μκΈ°νλ©΄ μλ£ν
μ λμ€μ μ μΈνλ? κ·Έλ° λλμ΄λ€. μ°μ νμ€νκ² μ§κ³ λμ΄κ°λ³΄μ.
κ·Έλμ μ λ€λ¦μ΄ λκ³ μ μ°λκ±°μμ? π€
μ λ€λ¦
μ ν΄λμ€ λ΄λΆμμ μ¬μ©ν μλ£νμ λμ€μ μΈμ€ν΄μ€λ₯Ό μμ±ν λ νμ νλ λ°©λ²μ΄λ€. μ λ€λ¦μ΄ λμ€κ² λ λ°°κ²½μ μλ£νμ κ°μ²΄λ€μ λ€λ£¨λ λ©μλλ ν΄λμ€μμ μ»΄νμΌ μκ°μ μλ£νμ κ²μ¬νμ¬ μ λΉν μλ£νμ μ ννκΈ° μν΄μμ΄λ€. μ λ€λ¦μ μ¬μ©νλ©΄ κ°μ²΄μ μλ£νμ μ»΄νμΌν λ 체ν¬νκΈ° λλ¬Έμ κ°μ²΄ μλ£νμ μμ μ±μ λμ΄κ³ ν λ³νμ λ²κ±°λ‘μμ΄ μ€μ΄λ λ€.
μ λ€λ¦μ μ¬μ© λ°©λ²
μ λ€λ¦μ μ΅κΈ λΈλν· <>
μ¬μ΄μ νμ 맀κ°λ³μ
λ₯Ό λ£μ΄ μ μΈνκ³ νλ μ΄μμ νμ 맀κ°λ³μλ₯Ό μ§μ ν μ μλ€. νμ 맀κ°λ³μλ μλ£νμ λννλ μ©μ΄λ‘ Tμ κ°μ νΉμ μλ¬Έμλ₯Ό μ¬μ©νμ¬ λμ€μ νμν μλ£νμΌλ‘ λ체νλ€. λ³΄ν΅ μ»¬λ μ
μ λ§μ΄ μ¬μ©νλ€.
class Box<T> (t : T) {
var name = t
}
fun main() {
val box1 : Box<Int> = Box<Int>(1)
val box2 : Box<String = Box<String>("kodo")
// νμ
μΆλ‘ μ΄ κ°λ₯νλ―λ‘ μλ£ν μλ΅ κ°λ₯
// val box1 = Box<Int>(1)
// val box2 = Box<String>("kodo")
println(box1.name)
println(box2.name)
}
Box ν΄λμ€λ₯Ό μ λ€λ¦μ μ¬μ©ν΄μ μ μνλ€. μ μ½λλ₯Ό μ€ννλ©΄ μλμ κ°μ κ²°κ³Όκ° μΆλ ₯λλ€.
1
kodo
μ λ€λ¦μ μ¬μ©νλ©΄ κ°μ²΄λ₯Ό μμ±ν λ μλ£νμ νμ μ κ²°μ νλ€. λ°λΌμ μΈμμ μλ£νμ κ³ μ ν μ μκ±°λ μμΈ‘ν μ μμ λ μ¬μ©νλ©΄ μ€νμκ°μ μλ£νμ κ²°μ ν μ μκ² λλ―λ‘ μ μ©νλ€.
μ λ€λ¦ λ©μλ
μ λ€λ¦
μ νμ 맀κ°λ³μλ‘ λ°λ λ©μλλ₯Ό μ λ€λ¦ λ©μλλΌκ³ νλ€.
fun <T> genericFun(arg : T) : T? { }
fun <K , V> put(key : K, value : V) : Unit { }
μλ μ½λλ λ°°μ΄μμ νΉμ μμμ μΈλ±μ€λ₯Ό μ°Ύμλ΄λ μ½λμ΄λ€.
fun <T> find(a : Array<T>, Target : T) : Int {
for (i in a.indices) {
if (a[i] == Target) return i
}
return -1
}
fun main() {
val arr1 : Array<String> = arrayOf("μ¬κ³Ό", "λ°λλ", "μλ°", "λ©λ‘ ")
println(find<String>(arr1, "μ¬κ³Ό"))
}
μλ£ν μ ννκΈ°
μ λ€λ¦ ν΄λμ€λ λ©μλκ° λ°λ νμ 맀κ°λ³μλ₯Ό νΉμ ν μλ£νμΌλ‘ μ νν μλ μλ€. νμ 맀κ°λ³μ λ€μμ μ½λ‘ (:)κ³Ό μλ£νμ κΈ°μ νλ©΄ νμ 맀κ°λ³μμ μλ£νμ΄ λλ€.
class Calc<T : Number> {
fun plus(arg1 : T, arg2 : T) : Double {
return arg1.toDouble() + arg2.toDouble()
}
}
fun main() {
val calc1 = Calc<Int>()
println(calc1.plus(10, 10))
val calc2 = Calc<Double>()
println(calc2.plus(5.0, 5.0))
val calc3 = Calc<String>() // μ€λ₯!
'π» κ°λ° > Kotlin' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μ½νλ¦° μμ μ 볡] 곡λ³μ±, λ°κ³΅λ³μ±, 무λ³μ± (0) | 2022.05.02 |
---|---|
[μ½νλ¦° μμ μ 볡] μ¬λ¬ μ’ λ₯μ ν΄λμ€ (0) | 2022.04.23 |
[μ½νλ¦° μμ μ 볡] μΆμ ν΄λμ€μ μΈν°νμ΄μ€ (2) | 2022.04.22 |