νλ«νΌ μ μ
- μ ν κ°λ°μ κ°λ₯νκ² νλ κΈ°μ μ΄λ, νμ¬ λλ λ―Έλμ κ°λ°μ μ§μνλ νλ‘μΈμ€
- μμ© μννΈμ¨μ΄λ₯Ό μ€ννκΈ° μν΄ μ°μ΄λ νλμ¨μ΄μ μννΈμ¨μ΄μ κ²°ν©
νλ«νΌ νΉμ§
- μ§μ
μ΄ μμ λ‘μμΌ ν¨
- μ¬μ©μλ€μ μ κ·Όκ³Ό μ΄λ€μ΄ μ°Έμ¬νλ νλ, λ€λ₯Έ μ¬μ©μλ€κ³Ό λ§Ίλ κ΄κ³λ₯Ό νν°λ§νκ³ ν΅μ νκ³ μ ννλ νλ‘μΈμ€λ₯Ό μ κ΄λ¦¬ν΄μΌ ν¨
νλ«νΌ μ’
λ₯
- νλμ¨μ΄ νλ«νΌ
- μννΈμ¨μ΄ νλ«νΌ
- μλΉμ€ νλ«νΌ
- λΉμ¦λμ€ νλ«νΌ
νλ«νΌ μμ
- 리λ
μ€
- λ§₯ OS
- λ§μ΄ν¬λ‘μννΈ μλμ°
- μ λμ€
- ETC..
μ΄μ체μ (OS)λ?
μ΄μ체μ μ μ
μμ© νλ‘κ·Έλ¨ λλ μ¬μ©μκ° μ»΄ν¨ν° νλμ¨μ΄λ₯Ό νΈλ¦¬νκ³ ν¨μ¨μ μΌλ‘ μ¬μ©νκ² νκΈ° μν΄ μμ€ν
μμ(λ©λͺ¨λ¦¬, νλ‘μΈμ€ λ±)μ κ΄λ¦¬νκ³ μ¬λ¬κ°μ§ νλ‘κ·Έλ¨μ΄ νμλ‘ νλ 곡ν΅μ μΈ μλΉμ€λ₯Ό μ 곡νλ μννΈμ¨μ΄
μ΄μ체μ μ’
λ₯
- μ°λΆν¬
- κ΅¬λ¦ OS
- 리λ
μ€
- μλλ‘μ΄λ
- ν¬λ£Έ OS
- μλμ°
μ΄μ체μ κΈ°λ₯
- μμ κ΄λ¦¬
- νλμ¨μ΄(CPU, λ©λͺ¨λ¦¬, μ μ₯μ₯μΉ λ±..)μ μμμ ν λΉ, κ΄λ¦¬
- λ©λͺ¨λ¦¬ κ΄λ¦¬
- μμ© νλ‘κ·Έλ¨μ΄ νμλ‘ νλ λ©λͺ¨λ¦¬ κ³΅κ° ν λΉ, ν΄μ , κ°μ λ©λͺ¨λ¦¬ κ΄λ¦¬
- νλ‘μΈμ€ κ΄λ¦¬
- νλ‘μΈμ€μ μμ±, μ€ν, μΌμ μ μ§, μμ€ν
μ€μ§ λ±μ μμ
μ μ΄
- λμ€ν¬ λ° νμΌ μμ€ν
κ΄λ¦¬
- νμΌμ μμ±, μμ , 볡μ¬, μ΄λ λ±μ μμ
μ μ²λ¦¬
- μ
μΆλ ₯ κ΄λ¦¬
- μ¬μ©μμ μμ© νλ‘κ·Έλ¨μ΄ ν€λ³΄λ, λ§μ°μ€, λμ€νλ μ΄, νλ¦°ν° λ±κ³Όμ ν΅μ μ ν μ μλλ‘ μ§μ
- μ
μΆλ ₯ μ₯μΉ μ±λ₯ μ΅μ ν
- μ¬μ©μ μΈν°νμ΄μ€
- ν
μ€νΈ κΈ°λ°μ ν°λ―Έλ νκ²½(CLI)κ³Ό κ·Έλν½ μ¬μ©μ νκ²½(GUI)μ ν΅ν΄ μ¬μ©μκ° μ»΄ν¨ν°λ₯Ό μ‘°μν μ μλλ‘ ν¨
- λ€νΈμνΉ
- μΈν°λ· μ°κ²°, λ°μ΄ν° μ μ‘, λ€νΈμν¬ λ³΄μ λ±μ κ΄λ¦¬
- μ€λ₯ μ²λ¦¬
- νλ‘μΈμ€μ λΉμ μ μ’
λ£, λ©λͺ¨λ¦¬ μ€λ²νλ‘μ°, μ
μΆλ ₯ μ€λ₯ λ±μ κ°μ§νκ³ μ²λ¦¬
- μμ€ν
보μ
- μ κ·Ό μ μ΄, μ¬μ©μ μΈμ¦, μνΈν λ±μ κΈ°λ₯ μ 곡
Android OSλ?
Android OS μ μ
μ€λ§νΈν°, νλΈλ¦Ώ PC κ°μ ν°μΉ μ€ν¬λ¦° λͺ¨λ°μΌ μ₯μΉ μ©μΌλ‘ λμμΈλ μ΄μ체μ μ΄μ μμ λ 리λ
μ€ μ»€λ λ²μ μ λΉλ‘―ν μ€ν μμ€ μννΈμ¨μ΄μ κΈ°λ°μ λ λͺ¨λ°μΌ μ΄μ체μ
Android OS νΉμ§
- μ€ν μμ€
- Java, Kotlin μΈμ΄ μ¬μ©
- μ± κ°μ μ°λμ΄ μ¬μ
- μ€λ§νΈν°μ μν μλ²½ν μ»΄ν¬λνΈ μ 곡
Androidμ Architecture

λ κ°μ§ λ μ΄μ΄κ° ν¬ν¨λμ΄μΌ ν¨
- νλ©΄μ μ΄ν리μΌμ΄μ
μ νμνλ UI λ μ΄μ΄
- νλ©΄μ λ°μ΄ν°λ₯Ό λ λλ§νλ UI μμ(View νΉμ Jetpack Compose ν¨μ)λ₯Ό μ¬μ©ν΄ λΉλν μ μμ
- λ°μ΄ν°λ₯Ό 보μ νκ³ μ΄λ₯Ό UIμ λ
ΈμΆνμ¬ λ‘μ§μ μ²λ¦¬νλ μν νλ (ex. ViewModel ν΄λμ€)
- μ±μ λΉμ¦λμ€ λ‘μ§μ ν¬ν¨νκ³ μ ν리μΌμ΄μ
λ°μ΄ν°λ₯Ό λ
ΈμΆνλ λ°μ΄ν° λ μ΄μ΄
μ±μμ μ²λ¦¬νλ λ€μν μ νμ λ°μ΄ν° λ³λ‘ μ μ₯μ ν΄λμ€λ₯Ό λ§λ€μ΄μΌ ν¨
- μ±μ λλ¨Έμ§ λΆλΆμ λ°μ΄ν° λ
ΈμΆ
- λ°μ΄ν° λ³κ²½ μ¬νμ ν κ³³μ μ§μ€
- μλ¬ λ°μ΄ν° μμ€ κ°μ μΆ©λ ν΄κ²°
- μ±μ λλ¨Έμ§ λΆλΆμμ λ°μ΄ν° μμ€ μ΄κΈ°ν
- λΉμ¦λμ€ λ‘μ§ ν¬ν¨
λΉμ¦λμ€ λ μ΄μ΄
- 볡μ‘ν λΉμ¦λμ€ λ‘μ§μ΄λ μ¬λ¬ ViewModelμμ μ¬μ¬μ©λλ κ°λ¨ν λΉμ¦λμ€ λ‘μ§μ μΊ‘μν λ΄λΉ
- μ½λ μ€λ³΅ λ°©μ§
- λλ©μΈ λ μ΄μ΄ ν΄λμ€λ₯Ό μ¬μ©νλ ν¬λμ€μ κ°λ
μ± κ°μ
- μ±μ ν
μ€νΈ κ°λ₯μ±μ λμ
- μ±
μμ λΆν νμ¬ λν ν΄λμ€λ₯Ό λ°©μ§
Android Architecture Component (ACC)λ?
- ν
μ€νΈμ μ μ§λ³΄μκ° μ¬μ΄ μ±μ λμμΈν μ μλλ‘ λλ λΌμ΄λΈλ¬λ¦¬μ λͺ¨μ
- ACCμ ViewModel =! MVVM ν¨ν΄μ ViewModel
- ACCμ ViewModel : μλͺ
μ£ΌκΈ°λ₯Ό κ΄λ¦¬νμ¬ λ°μ΄ν°λ₯Ό μ μ€νμ§ μκ³ κ·Έλλ‘ λ³΄μ‘΄ν΄λκ³ μ¬μ©ν μ μκ² ν΄μ€
- MVVMν¨ν΄μ ViewModel : λ·°μ λͺ¨λΈ μ¬μ΄μμ λ°μ΄ν°λ₯Ό κ΄λ¦¬, λ°μΈλ©ν΄μ£Όλ μν
DataBinding
- Dataλ₯Ό UIμ μ½κ² BindingνκΈ° μν λΌμ΄λΈλ¬λ¦¬
- findViewById()μ μν΄ View κ°μ²΄ νλ λ° μ΄μ©μ λ²κ±°λ‘μμ μ κ±°νκΈ° μν λͺ©μ
- DIλ‘ μ λͺ
ν ButterKnife λ±μ λΌμ΄λΈλ¬λ¦¬ μ΄μ©λ³΄λ€ ν¨μ¨μ