1. λ³μ μ μΈ λ° μ΄κΈ°ν
β
1.1 λ³μ μ μΈλ² val, var
β
val(value) | Assgn-once(Ready-only), λ³κ²½λΆκ°λ₯ν λ³μ |
var(variable) | Mutable, λ³κ²½κ°λ₯ν λ³μ |
β
λ³μ μ μΈλ²
β
β
β
1.2 λ³μ μ΄κΈ°ν
μ½νλ¦°μμ λ³μ μ μΈμ μ΅μμ(ν΄λμ€ μΈλΆ), ν΄λμ€ λ΄λΆ, ν¨μ λ΄λΆμ ν μ μλ€.
μ½νλ¦° λ³μλ μλμΌλ‘ μ΄κΈ°νλμ§ μμΌλ―λ‘ μ½λμμ μ§μ μ΄κΉκ°μ λμ μ μ£Όμ΄μΌ μ΄μ©μ΄ κ°λ₯νλ€.
β
μμ± μ΄κΈ°νλ₯Ό μ°κΈ°ν΄ μ£Όλ λ°©λ²μΌλ‘ lateinit μμ½μ΄κ° μλ€. lateinit μμ½μ΄ μ¬μ© μ κ°λ₯ν 빨리 μμ±μ μ΄κΈ°νν΄μΌ νλ€.
β
μμ± μ΄κΈ°ν μ°κΈ°
β
β
1.3 null μ΄ λ μ μλ λ³μμ null
μ½νλ¦°μμ null κ°μ λμ νλ €λ©΄ λͺ μμ μΌλ‘ nullable λ³μλ‘ μ μΈν΄μΌ νλ€. ? ν€μλ μ¬μ©
β
null μμ μ±(Safety) : nullμ μμ ν νλ‘κ·Έλ¨μ μμ±νκΈ° μν κΈ°λ².
null μ λμ ν μ μλ λ³μμ κ·Έλ μ§ μμ λ³μμ ꡬλΆ
β
nullable λ³μ
β
β
1.4 μμλ³μ μ μΈ const
β
μμλ³μ : μ΄κΉκ°μ λ³κ²½νμ§ μκ³ κ·Έλλ‘ μ¬μ©νλ λ³μ
β
val λ‘ μ μΈλ λ³μμ μλ―Έλ₯Ό νΌλν μ μμ§λ§ κ·Έ λ³μλ μμλ³μμ λ€λ₯΄λ€.
val λ‘ μ μΈν λ³μμ μ΄κΉκ°μ μ§μ μ μΌλ‘ λ³κ²½ν μ λ μμ§λ§, ν΄λΉ λ³μμ get() ν¨μμμ μ΄λ»κ² μ²λ¦¬νλμ λ°λΌ λ€λ₯Έ κ°μ΄ λμ€κ² ν μ μλ€. (μΆν μ 리)
β
μμ λ³μλ const μμ½μ΄λ‘ μ μΈκ°λ₯νλ€. const μμ½μ΄λ λͺ κ°μ§ μ‘°κ±΄μ΄ μλλ°,
val μ¬μ©
μ΅μμ λ 벨(ν΄λμ€ μΈλΆ)λ‘ μ μΈνκ±°λ object λ‘ μ μΈν ν΄λμ€μμλ§ μ¬μ© κ°λ₯ (ν΄λμ€, ν¨μ X)
β
2. ν¨μ μ¬μ©λ²
2.1 ν¨μ μ μΈ fun
ν¨μ μ μΈ νμ
ν¨μμ 맀κ°λ³μλ 무쑰건 val
λ°νκ²μ΄ μμ λμλ Unitμ λͺ μ, μλ΅ κ°λ₯
ν¨μ λ΄μ ν¨μ μ μ κ°λ₯ (νΉμ ν¨μ λ΄μ μ μΈλ ν¨μλ μ§μ λ³μμ λΉμ·ν κ°λ μΌλ‘ μ¬μ©)
λ±νΈ = λ₯Ό μ¬μ©νμ¬ λ¨μΌ ꡬ문μΌλ‘ ν¨μλ₯Ό μμ±ν μ μλ€. (λ¨μΌ νν ν¨μ. single expression function)
λ¨μΌ νν ν¨μ
β
2.2 ν¨μ μ€λ²λ‘λ©(overloading)
β
: κ°μ μ΄λ¦μ ν¨μλ₯Ό 맀κ°λ³μ λΆλΆμ λ€λ₯΄κ²(κ°μλ νμ ) νμ¬ μ¬λ¬ κ° μ μνλ κΈ°λ²μ μ΄μΌκΈ°νλ€.
β
ν¨μ μ€λ²λ‘λ©
β
β
β
β
곡λΆν κ΅μ¬ - 'κΉ‘μμ μ½νλ¦° νλ‘κ·Έλλ°'
Android Developers - developer.android.com/kotlin/common-patterns?hl=ko
'Android' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Android] μλλ‘μ΄λ REST API (0) | 2021.06.18 |
---|---|
[Android] μλλ‘μ΄λ API (0) | 2021.06.18 |
[Kotlin] μ½νλ¦° μμ±μ ( Constructor ) (0) | 2021.06.18 |
[Android] ViewPager1κ³Ό ViewPager2 (0) | 2021.06.18 |
[Kotiln] μ½νλ¦° κΈ°λ³Έ μμ±λ²νλ‘νμΌ (0) | 2021.06.18 |