λΉνΈμ°μ°μ μν λ³μλ₯Ό 10μ§λ²μΌλ‘ μ°μ°νλ λμ 2μ§λ²μΌλ‘ κ³μ°νλ€.μ€λ¬΄μμ λΉνΈμ°μ°μ κ±°μ κ³μ°μ μ¬μ© νμ§ μμΌλ©° μ μνμ κ°μ λΉνΈλ¨μλ‘ λλμ΄ λ°μ΄ν°λ₯Ό μ’ λ μμ λ¨μλ‘ λ΄μ κ²½μ μ±μ λμ΄κΈ° μν μ©λλ‘ μ¬μ©λλ€.μμ32λΉνΈμ 2μ§μ μ μν λ³μ μμ 0λλ 1μ΄ 32κ° λ΄κΈΈ μ μλ λ³μκ° μλ€.32κ°μ κ°μ νλμ μ λ³΄λ§ λνλλ° μ°μ§μκ³ , μμ 5λΉνΈμ λ€μ 27λΉνΈμ μλ‘ λ€λ₯Έ μ 보λ₯Ό λ΄λ κ°μ λ£μ μ μλ€.μ΄λ κ² λ³μ νλμ μ¬λ¬κ°μ κ°μ λ΄μ μ¬μ©ν μ μλ€.λΉνΈμ°μ°μ μ¬μ©νλ λΆνλ 무μν μ μμΌλ―λ‘ μ£Όλ‘ νλκ·Έ κ°(μ¬λ¬κ°μ μνκ°μ 0κ³Ό 1λ‘ λ΄λ λ°©λ²)μ μ²λ¦¬νκ±°λ λ€νΈμν¬μμ νλ‘ν μ½μ λ°μ΄ν° μμ μ€μ΄κΈ° μν΄ μμ£Ό μ¬μ©λλ€.2μ§μ μ μν λ³μλ μ’μΈ‘μΌλ‘ κ°μλ‘ μμλΉνΈ, ..
μλλ‘μ΄λ
varνλ² μ μΈν΄λ λ³μμ κ°μ λ°κΏ μ μλ€. valνλ² μ μΈν΄λ λ³μμ κ°μ λ°κΏ μ μλ€.valμ ν λΉλ κ°μ²΄λ₯Ό λ°κΏ μ μμ λΏμ΄μ§ κ°μ²΄ λ΄λΆμ μμ±μ λ³κ²½ν μ μλκ²μ μλλ€. μμνλ² μ μΈν΄λ λ³μμ κ·Έ 무μλ λ°κΏ μ μλ€. μ»΄νμΌ μμ μ κ²°μ λλ μ λ λ°κΏ μ μλ κ°μ΄λ€.μ μΈν λ valμμ constλ₯Ό λΆμ΄λ©΄ λλ€.μμλ‘ μ μΈν μ μλκ²μ κΈ°λ³Έ μλ£νλ§ κ°λ₯νλ€.(Stringμλ£ν ν¬ν¨) λ°νμμ μμ±λ μ μλ μΌλ°μ μΈ λ€λ₯Έ ν΄λμ€μ κ°μ²΄λ€μ λ΄μ μ μλ€.μμλ ν΄λμ€μ μμ±μ΄λ μ§μλ³μλ‘ μ¬μ©ν μ μλ€.λ°λμ companion objectμ μ μΈνμ¬ κ°μ²΄μ μμ±κ³Ό μκ΄μμ΄ ν΄λμ€μ κ΄κ³λ κ³ μ μ μΈ κ°μΌλ‘λ§ μ¬μ©νκ² λλ€.μμμ μ΄λ¦μ λ§λ€λλ κ΄λ‘μ μΌλ‘ λλ¬Έμμ μΈλλ°λ₯Ό μ¬μ©ν..
컬λ μ
μ λ°λ³΅λ¬Έμ μ΄μ©νμ¬ ν¬ν¨λ μμλ€μ νλμ© κΊΌλ΄μ μ¬μ©νλ€.νμ§λ§ μ½νλ¦°μ ν¨μν μΈμ΄μ νΉμ§μ κ°μ§κ³ μκΈ° λλ¬Έμ μ’ λ νΈλ¦¬νκ² μ»¬λ μ
μ μ¬μ©ν μ μλ€. 컬λ μ
ν¨μlist, set, mapκ³Ό κ°μ 컬λ μ
λλ λ°°μ΄μ μΌλ° ν¨μ λλ λλ€ ν¨μ ννλ₯Ό μ¬μ©νμ¬ λ°λ³΅λ¬Έ μμ΄λ μμλ₯Ό μ°Έμ‘°νμ¬ μννκ±°λ 쑰건μ κ±Έκ³ κ΅¬μ‘°μ λ³κ²½κΉμ§ κ°λ₯ν μ¬λ¬κ°μ§ ν¨μλ₯Ό μ§μΉνλ€. forEach컬λ μ
κ°μ²΄μ μ¬μ©νλ©΄ μ€κ΄νΈ μμμ 컬λ μ
μ ν¬ν¨λ λͺ¨λ μμλ₯Ό itμ΄λΌλ λ³μλ‘ μμλλ‘ μ°Έμ‘°ν μ μλ€.collection.forEach{ println(it)} filter컬λ μ
κ°μ²΄μ μ¬μ©νλ©΄ μ€κ΄νΈ μμμ itμ 쑰건μ κ±Έμ΄ μ‘°κ±΄μ λ§λ κ°μ²΄λ§ λ€μ 컬λ μ
μΌλ‘ λ§λ€μ΄ λ°ννλ€.collection.forEach..
SetListμ λ¬λ¦¬ μμκ° μ λ ¬λμ§ μμΌλ©° μ€λ³΅μ΄ νμ©λμ§ μλ 컬λ μ
μ΄λ€.μΈλ±μ€λ‘ μμΉλ₯Ό μ§μ νμ¬ κ°μ²΄λ₯Ό μ°Έμ‘°ν μ μμΌλ©° contains()λ‘ κ°μ²΄κ° setμμ μλμ§ νμΈνλ μμΌλ‘λ§ μ¬μ©νλ€.Setλ Listμ²λΌ MutableSetκ° μ‘΄μ¬νλ€.κ°μ²΄μ μΆκ°, μμ κ° κ°λ₯νμ§ μ¬λΆμ λ°λΌ μ¬μ©νκ² λλ€.μμμ μΆκ°λ add(), μμμ μμ λ remove() ν¨μλ₯Ό μ¬μ©νλ€. μμ fun main(){ val a = mutableSetOf("μ°ν", "λ¬λ ₯", "μ§μ°κ°") for(item in a){ println("$item") } a.add("νκ΄ν") println(a) a.remove("λ¬λ ₯") println(a) println(a.con..
Data Classλ°μ΄ν°λ₯Ό λ€λ£¨λ λ°μ μ΅μ νλ ν΄λμ€μ΄λ€.5κ°μ§ κΈ°λ₯μ λ΄λΆμ μΌλ‘ μλμΌλ‘ μμ±ν΄μ€λ€.equals()λ΄μ©μ λμΌμ±μ νλ¨νλ€.hashcode()ν΄λμ€μ λ΄μ©μμ κ³ μ μ ν΄μ¬μ½λλ₯Ό λ°νν΄μ€λ€.κ°μ²΄μ λ΄μ©μμ κ³ μ ν μ½λλ₯Ό μμ±νλ€.toString()ν¬ν¨λ μμ±μ 보기μ½κ² λνλΈλ€.copy()κ°μ²΄λ₯Ό 볡μ¬νμ¬ λκ°μ λ΄μ©μ μ κ°μ²΄λ₯Ό λ§λ λ€.copy() ν¨μλ₯Ό μ΄μ©ν΄ μ κ°μ²΄λ₯Ό μμ±ν λλ λκ°μ λ΄μ©μ κ°μ²΄λ₯Ό μμ±ν μλ μμ§λ§ μμ±μμ λκ°μ ννμ νλΌλ―Έν°λ₯Ό μ£Όμ΄ μΌλΆ μμ±μ λ³κ²½ν΄ μ€ μλ μλ€.μ무 νλΌλ―Έν°κ° μμΌλ©΄ λκ°μ λ΄μ©μΌλ‘ μμ±νλ€.νλΌλ―Έν°κ° μλ€λ©΄ ν΄λΉ νλΌλ―Έν°λ₯Ό κ΅μ²΄νμ¬ μμ±νλ€.componentX()μμ±μ μμλλ‘ λ°ννλ€.component1(), component2..
μ½νλ¦°μ΄ μ§μνλ ν΄λμ€ μ ν μ€ ν΄λμ€ μμ ν΄λμ€κ° μ€μ²©λλ μ νμ μ€μ²© ν΄λμ€μ λ΄λΆ ν΄λμ€ λκ°μ§λ€. μ€μ²© ν΄λμ€(Nested Class)νλμ ν΄λμ€κ° λ€λ₯Έ ν΄λμ€μ κΈ°λ₯κ³Ό κ°νκ² μ°κ΄λμ΄ μλ€λ μλ―Έλ₯Ό μ λ¬νκΈ° μν΄ λ§λ€μ΄μ§ νμμΌλ‘ μ¬μ©ν λλ "(μΈλΆν΄λμ€ μ΄λ¦).(μ€μ²©ν΄λμ€ μ΄λ¦)" μΌλ‘ μ¬μ©νλ€.ννλ§ λ΄λΆμ μ‘΄μ¬ν λΏ μ€μ§μ μΌλ‘λ μΈλΆμ μ€μ²© ν΄λμ€ μλ‘ λ΄μ©μ 곡μ ν μ μλ λ³κ°μ ν΄λμ€λ€. λ΄λΆ ν΄λμ€μ€μ²© ν΄λμ€ λμ λ΄λΆ ν΄λμ€λ₯Ό μ¬μ©ν μ μλ€.μ€μ²© ν΄λμ€μ "inner"λΌλ ν€μλλ₯Ό λΆμ΄λ©΄ λλ€.νΌμμ κ°μ²΄λ₯Ό λ§λ€ μ μκ³ μΈλΆ ν΄λμ€μ κ°μ²΄κ° μμ΄μΌλ§ μμ±κ³Ό μ¬μ©μ΄ κ°λ₯ν ν΄λμ€λ€.κ·Έλμ μΈλΆ ν΄λμ€μ μμ±κ³Ό ν¨μμ μ¬μ©μ΄ κ°λ₯νλ€. μμ fun main(){ Outer..
overloadingκ°μ μ€μ½ν μμμ κ°μ μ΄λ¦μ ν¨μλ₯Ό μ¬λ¬κ° λ§λ€ μ μλ κΈ°λ₯μ΄λ€.ν¨μ μ΄λ¦μ΄ κ°μλ νλΌλ―Έν°μ μλ£νμ΄ λ€λ₯΄κ±°λ νλΌλ―Έν°μ κ°―μκ° λ€λ₯΄λ€λ©΄ μλ‘ λ€λ₯Έ ν¨μλ‘ λμν μ μλ€.fun hello(x: Int)fun hello(x: Int, text: String)fun hello(x: Int, y: Int)νμ§λ§ νλΌλ―Έν°μ μ΄λ¦λ§ λ€λ₯΄κ³ μλ£νμ΄ κ°λ€λ©΄ μ€λ²λ‘λ©μ ν μ μλ€.fun hello(x: Int, y: Int)fun hello(a: Int, b: Int) μμ fun main(){ read(24) read("νκΈΈλ")}fun read(x: Int){ println("μ«μ $x μ
λλ€")}fun read(x: String){ println("λ¬Έμ $x ..
null μν νμΈnullμνλ‘ μμ±μ΄λ ν¨μλ₯Ό μ°λ €κ³ νλ©΄ null pointer exceptionμ΄ λ°μνλ€.null pointer exception : nullμΈ κ°μ²΄λ₯Ό μ°Έμ‘°νλ©΄ λ°μνλ μ€λ₯κ·Έλμ nullable λ³μλ₯Ό μ¬μ©ν λλ nullνμΈ μμ΄λ μ½λκ° μ»΄νμΌ λμ§ μλλ€.var sample: String? = null// ifλ¬ΈμΌλ‘ nullalbe νμΈif(sample != null) println(sample.toUpperCase())null 체ν¬λ₯Ό νκΈ° μν΄ μΌμΌν ifλ¬ΈμΌλ‘ 쑰건μ νμΈνλ λμ μ¬λ¬κ°μ§ λ°©λ²μ μΈ μ μλ€.?. (null safe operator)?: (elvis operator)!!. (non-null assertion operator) ?. (null safe o..
μ λλ¦μ΄ νμν μ΄μ ν΄λμ€ Aμ μ΄λ₯Ό μμλ°μ ν΄λμ€ Bκ° μλ€.λ ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό 곡μ©μΌλ‘ μ¬μ©νλ νλμ ν¨μμ νλΌλ―Έν°λ‘ λ°μΌλ €λ©΄ μ΄λ»κ² ν΄μΌν κΉ?μνΌν΄λμ€μ μλ£νμΈ Aμ μλ£νμΌλ‘ λ°μΌλ©΄ Bλ μλμΌλ‘ Aλ‘ μΊμ€ν
λλ€. β‘οΈ λ ν΄λμ€ λͺ¨λ ν¨μμ νλΌλ―Έν°λ‘ μ¬μ©κ°λ₯νλ€.νμ§λ§ μΊμ€ν
μ°μ°μ κ±°μΉλκ²μ νλ‘κ·Έλ¨μ μλλ₯Ό μ νμν¨λ€. μ΄λ₯Ό μ λλ¦μ΄ 보μν΄ μ€ μ μλ€.fun castingExam(var a: A) // Bλ₯Ό λ£μ΄λ Aλ‘ μΊμ€ν
λλ€. μ λλ¦ν΄λμ€λ ν¨μμμ μ¬μ©νλ μλ£νμ μΈλΆμμ μ§μ ν μ μλ κΈ°λ₯μ΄λ€.ν¨μλ ν΄λμ€λ₯Ό μ μΈν λ κ³ μ μ μΈ μλ£ν λμ μ€μ μλ£νμΌλ‘ λ체λλ νμ
νλΌλ―Έν°λ₯Ό λ°μ μ¬μ©νλ λ°©λ²μ΄λ€.νμ
νλΌλ―Έν°μ νΉμ μλ£νμ΄ ν λΉλλ©΄ μ λλ¦μ μ¬μ©νλ ..
λΉμ λ₯Ό ν΅ν λ€νμ±μ κ°λ
μλ£μλ μ¬λ¬ μ’
λ₯κ° μλ€. μ½λΌ, μ£Όμ€, μ»€νΌ λ±..μ΄ μ€ μ½λΌλ₯Ό κ³ λ₯Ό λ μ½λΌλ₯Ό μ½λΌ μ체λ‘λ λ³Ό μ μμ§λ§, μλ£λΌλ νΉμ±μΌλ‘λ λ³Ό μ μλλ‘ λ§λλκ²μ΄ λ€νμ±μ κ°λ
μ΄λ€. μ½νλ¦°μ λ΄λΆ λμμλ£λΌλ μνΌν΄λμ€μ μ΄λ₯Ό μμλ°λ μ½λΌλΌλ μλΈ ν΄λμ€κ° μλ€μ½λΌ μΈμ€ν΄μ€λ₯Ό λ§λ€λ μνΌν΄λμ€μ 곡κ°μ μλ£μ λ΄μ©μ λ΄λ κ°μ²΄κ³΅κ°μ μ½λΌμ λ΄μ©μ λ΄λ μΆκ° 곡κ°μ΄ μμ±λλ€.μ΄λ κ² λ§λ€μ΄μ§ μ½λΌμ μΈμ€ν΄μ€λ μλ£μ 곡κ°μ λ΄λ λ³μμ μ μ₯νλ©΄ μλ£μ κΈ°λ₯λ§ μ¬μ©νκ² λκ³ , μ½λΌμ κΈ°λ₯μ λ΄λ λ³μμ μ μ₯νλ©΄ μ½λΌμ κΈ°λ₯κΉμ§ λͺ¨λ μ¬μ©ν μ μλ€.var a: Drink = Cola() // μ
μΊμ€ν
. μλ£μ κΈ°λ₯λ§ μ¬μ©. μ½λΌμ μΆκ°κ³΅κ°μ μ¬μ© λΆκ°var b: Cola = Cola()..
μ€λΈμ νΈμμ±μ μμ΄ μ§μ κ°μ²΄λ₯Ό λ§λ€μ΄λΈλ€.μ€λΈμ νΈ κ·Έ μμ²΄κ° κ°μ²΄κ° λ μ μλ€. κ·Έλμ μμ±μκ° νμ μλ€.ν΄λμ€λ λ΄λΆμ μλ μμ±μ΄λ ν¨μλ₯Ό μ¬μ©νλ €λ©΄ μμ±μλ₯Ό ν΅ν΄ μ€μ²΄κ° λλ μΈμ€ν΄μ€ κ°μ²΄λ₯Ό λ§λ€μ΄μΌνλ€.νμ§λ§ μ¬λ¬κ°μ μΈμ€ν΄μ€ κ°μ²΄κ° νμνμ§ μκ³ νλμ κ°μ²΄λ§μΌλ‘ 곡ν΅μ μΈ μμ±κ³Ό ν¨μλ₯Ό μ¬μ©ν΄μΌνλ μ½λμμλ ν΄λμ€λ₯Ό μΈ νμ μμ΄ μ€λΈμ νΈλ₯Ό μ¬μ©νλ©΄ λλ€.μ±κΈν€ ν¨ν΄μ μΈμ΄μ°¨μμμ μ§μνλκ²μ΄λ€.μ±κΈν€ ν¨ν΄ : ν΄λμ€μ κ°μ²΄λ₯Ό λ¨ νλλ§ λ§λ€μ΄ μ¬μ©νλλ‘ νλ λμμΈ ν¨ν΄ μ€λΈμ νΈ μμ μ무곳μλ νΈμΆνμ¬ νΈμΆν νμλ₯Ό μΈκ±°λ μ΄κΈ°ν ν μ μλ CounterλΌλ μ€λΈμ νΈλ₯Ό λ§λ€μ΄λ³΄μ.μ€λΈμ νΈλ λ³λμ μΈμ€ν΄μ€λ₯Ό μμ±νμ§ μκΈ° λλ¬Έμ μ€λΈμ νΈ μ΄λ¦μ μ§μ μ°Έμ‘°μ°μ°μλ₯Ό λΆμ¬μ μ¬μ©νλ€.fu..
μ€μ½ν ν¨μλ₯Ό μμ보기 μ μ λλ€ ν¨μμ νΉλ³ν κΈ°λ₯ λͺκ°μ§λ₯Ό μ΄ν΄λ³΄μ.λλ€ ν¨μμ νΉλ³ν κΈ°λ₯λ€λλ€ ν¨μλ μΌλ° ν¨μμ²λΌ μ¬λ¬ κ΅¬λ¬Έμ΄ μν κ°λ₯νλ€. μ°Έκ³ λ‘ λλ€ ν¨μκ° μ¬λ¬ μ€λ‘ ꡬνλλ€λ©΄ λ§μ§λ§ μ€μ κ²°κ³Όκ°μ΄ λ°νλλ€.val c: (Int, Int) -> Int = {a,b -> println("$a $b") println("μ¬λ¬κ΅¬λ¬Έ") println("μ¬μ©ν μ μμ§λ‘±!") a+b // a+bκ° λ°νλλ€.}λλ€ν¨μμ νλΌλ―Έν°κ° μλ€λ©΄ μ€νν ꡬ문λ€λ§ λμ΄νλ©΄ λλ€.val a:() -> Unit = {println("νλΌλ―Έν° μμ!!!")}νλΌλ―Έν°κ° νλλΏμ΄λΌλ©΄ 'it'μ μ¬μ©νλ€. νλΌλ―Έν° μ΄λ¦μ μλ΅νκ³ 'it'μ΄λΌλ ν€μλλ‘ λ체 κ°λ₯νλ€.val c:(String) ->..