- μ½νλ¦° νλ‘μ νΈ, λͺ¨λ, ν¨ν€μ§, νμΌμ κ΄κ³
- λ³μμ μλ£ν
- μλ£ν κ²μ¬μ λ°ν
1. μ½νλ¦° νλ‘μ νΈ-λͺ¨λ-ν¨ν€μ§-νμΌ
κ΄κ³λ μμ
νλ‘μ νΈ λ΄λΆμ λͺ¨λ,
λͺ¨λ λ΄λΆμ ν¨ν€μ§,
ν¨ν€μ§ λ΄λΆμ νμΌ.
μ€μ νμΌμ 보면 μλμ κ°λ€. ν¨ν€μ§ κΈ°μ€μΌλ‘ 보λκ² μ΄ν΄νκΈ° μ¬μ΄λ― νλ€.
(μ’) νλ‘μ νΈ κΈ°μ€ / (μ°) ν¨ν€μ§ κΈ°μ€
νμΌλͺ
“ooo.kt” μ “ooo”μ μ°¨μ΄?
ν΄λΉ νμΌ μ λͺ©μΌλ‘ ν΄λμ€ 1κ°λ§ μ€μ λμ΄μλ€λ©΄, ooo
κ·Έ μ΄μΈλ ooo.kt μ΄λ€.
2. λ³μμ μλ£ν
2-1. val / var
μ½νλ¦°μμ λ³μλ₯Ό μ μΈν λ, valμ΄λ varμ μ¬μ©ν μ μλ€.
val : κ³ μ κ°, μ½κΈ°λ§ κ°λ₯
var: μ λ κ°, κ° μμ κ°λ₯
2-2. κΈ°λ³Έν μλ£ν vs μ°Έμ‘°ν μλ£ν
μ½νλ¦°μμλ μ°Έμ‘°νλ§ μ¬μ©νλ€. νμ§λ§, κ²λ³΄κΈ°μλ§ κ·Έλ κ³ μ»΄νμΌμ μ§ννλ©΄μ μ°Έμ‘°νμμ κΈ°λ³ΈνμΌλ‘ λ°λλ€.
κΈ°λ³Έν: μμλ©λͺ¨λ¦¬(μ€ν)μ κ° μ μ₯, λ©λͺ¨λ¦¬ ν¬κΈ° κ³ μ .
μλ£ν: μμλ©λͺ¨λ¦¬(μ€ν)μ μ°Έμ‘° μ£Όμ, λμ λ©λͺ¨λ¦¬(ν)μ μ€μ κ°.
2-3. μλ£ν
2-4. μΈλμ€μ½μ΄
νλ‘κ·Έλλ°μ νλ€λ³΄λ©΄ κΈ΄ μ«μλ μλ³νκΈ° μ λ§€ν κ²½μ°κ° μλλ°, _ μ μ΄μ©ν΄ μλ³νκΈ° νΈνκ² ν μ μλ€. μΈλκ·ΈλΌμ΄λ(_)λκ°μ μν₯μ μ£Όμ§ μκ³ , λͺ¨λ μ’
λ₯μ κ°μ μ¬μ©ν μ μλ€.
var num = 79_000_000
var num2 = 0x99_5F_AB_12
2-5. λΆλμμμ
IEEE 754
(μν€λνΌμ μ°Έκ³ )
β118.625 (μμ§λ²)μ IEEE 754 (32λΉνΈ λ¨μ λ°λ)λ‘ ννν΄ λ³΄μ.
(1) μμμ΄λ―λ‘, λΆνΈλΆλ 1μ΄ λλ€. 0μ μμ, 1μ μμμ΄λ€.
(2) κ·Έ λ€μ, μ λκ°μ μ΄μ§λ²μΌλ‘ λνλ΄λ©΄ 1110110.101μ΄ λλ€.
(3)μμμ μ μΌμͺ½μΌλ‘ μ΄λμμΌ, μΌμͺ½μλ 1λ§ λ¨κ² λ§λ λ€. μλ₯Ό λ€λ©΄ 1110110.101=1.110110101Γ2βΆ κ³Ό κ°λ€. μ΄κ²μ μ κ·νλ λΆλμμμ μλΌκ³ νλ€.
(4) κ°μλΆλ μμμ μ μ€λ₯Έμͺ½ λΆλΆμΌλ‘, λΆμ‘±ν λΉνΈ μ λΆλΆλ§νΌ 0μΌλ‘ μ±μ 23λΉνΈλ‘ λ§λ λ€. κ²°κ³Όλ 11011010100000000000000μ΄ λλ€.
(5) μ§μλ 6μ΄λ―λ‘, Biasλ₯Ό λν΄μΌ νλ€. 32λΉνΈ IEEE 754 νμμμλ Biasλ 127μ΄λ―λ‘ 6+127 = 133μ΄ λλ€. μ΄μ§λ²μΌλ‘ λ³ννλ©΄ 10000101μ΄ λλ€.
2-6. 2μ 보μ
μ»΄ν¨ν°λ μμλ₯Ό νννκΈ° μν΄ 2μ 보μ κ°λ
μ μ¬μ©νλ€. μ»΄ν¨ν° μ°μ°κΈ°μλ λ§μ
κΈ°λ₯μ νλ‘λ§ μκ³ , λ§μ
κΈ°λ₯μΌλ‘ λΊμ
μ ꡬνν΄μΌνκΈ° λλ¬Έμ΄λ€.
(1) Byteν λ³μμ 0111 1111 (127) μ΄ μλ€.
(2) μ¬κΈ°μ 2μ§μ 1μ λνλ©΄ 1000 0000μ΄ λκ³ , -128μ΄ λλ€.
(3) μ¦ νΉμ ν μλ₯Ό μμλ‘ λ§λλ €λ©΄, 2μ§μ κ°μ λ€μ§μ ν 1μ λνλ©΄ νΉμ μμ μμκ° λλ€.
μμλ‘, 1000 0001μ -127, 1000 0011μ -125λ€.
3. μλ£ν κ²μ¬μ λ°ν
3-1. Nullμ νμ©νλ λ³μ κ²μ¬
μΌλ°μ μΌλ‘ μ½νλ¦°μ λ³μμ null ν λΉ μ non-null μλ¬ λ°μ.
λ³μ μ μΈ μ μλ£ν λ€μ λ¬Όμνλ₯Ό μΆκ°νλ€.
var str0 : String? = "This is String"
str0 = null
3-2. μΈμ΄νμ½κ³Ό μλΉμ€
[ μΈμ΄νμ½ ]
nullμ΄ ν λΉλμ κ°λ₯μ±μ΄ μλ λ³μλ₯Ό κ²μ¬ ν μμ νκ² νΈμΆ.
println("str0: $str0 length: ${str0?.length}")
str0μ΄ nullμΈμ§ νμΈ.
nullμ΄λ©΄ null μΆλ ₯. / nullμ΄ μλλ©΄ length μΆλ ₯.
[ μλΉμ€ ]
λ³μκ° nullμΈμ§ νμΈ ν nullμ΄λ©΄ μ€λ₯Έμͺ½ μμ, μλλ©΄ μΌμͺ½ μμμ μΆλ ₯.
println("str0: $str0 length: ${str0?.length ?: -1}")
ifλ¬Έκ³Ό λμΌνλ€.
3-3. μ€λ§νΈμΊμ€νΈ
μ»΄νμΌλ¬ μ€μ€λ‘ μλ£νμ λ³ννλ κ².
[ Number ν ]
μ«μλ₯Ό μ μ₯νλ νΉμ μλ£ν
var tmp : Number = 13
tmp = 13.0f
tmp = 13L
[ AS ]
μλ£ν λ³νμ΄ μλλ©΄, μμΈ λ°μ.
val tmp2 : String? = x as? String
3-4. Any ν
νΉλ³ν μλ£νμ΄ μ ν΄μ§μ§ μμ κ²½μ° μ¬μ©νλ€. μ΄λ€ μλ£νμ΄λ λ μ μλ€. λν, λͺ¨λ ν΄λμ€λ Any νμ μμ ν΄λμ€μ΄λ€.
var a : Any = 3
a = "Wow"