[260112] Android Context λž€?

2026. 1. 12. 08:43Β·ν”„λ‘œκ·Έλž˜λ°/Android

1. Context λž€

  • 사전적 μ˜λ―Έλ‘œμ„œ context λž€
  • λ§₯락, λ¬Έλ§₯ 
  • μ „ν›„ 사정 을 μ˜λ―Έν•¨  

 

μ•ˆλ“œλ‘œμ΄λ“œμ—μ„œμ˜ context 

 

Context  |  API reference  |  Android Developers

 

developer.android.com

μ•ˆλ“œλ‘œμ΄λ“œ 곡식 λ¬Έμ„œμ— 적힌 context μ •μ˜ 

  • μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ‹€ν–‰ ν™˜κ²½μ— λŒ€ν•œ μ „μ—­ 정보에 μ ‘κ·Όν•˜κΈ° μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ 
  • μ•ˆλ“œλ‘œμ΄λ“œ μ‹œμŠ€ν…œμ΄ μ œκ³΅ν•΄μ£ΌλŠ” 좔상 클래슀λ₯Ό 의미 
  • μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ λ¦¬μ†ŒμŠ€μ™€ ν΄λž˜μŠ€μ— μ ‘κ·Όν•  수 있게 ν•΄μ£Όλ©° activity μ‹€ν–‰, λΈŒλ‘œλ“œμΊμŠ€νŒ…, intent μˆ˜μ‹  λ“± μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ‹¨κ³„μ˜ api ν˜ΈμΆœμž‘μ—…μ„ κ°€λŠ₯ν•˜κ²Œ ν•΄μ€Œ.
    • context κ°€ 있으면 .....  
    • μ•± νŒ¨ν‚€μ§€ 정보 μ ‘κ·Ό κ°€λŠ₯
    • 파일 μ‹œμŠ€ν…œ 경둜 μ ‘κ·Ό κ°€λŠ₯
    • resources (R.string, R.drawable λ“±) μ ‘κ·Ό κ°€λŠ₯
    • μ‹œμŠ€ν…œ μ„œλΉ„μŠ€ (μ•Œλ¦Ό, 진동, λ„€νŠΈμ›Œν¬ λ“±) μš”μ²­ κ°€λŠ₯
    • Application 객체 μ ‘κ·Ό κ°€λŠ₯ 

context λ₯Ό μ‚¬μš©ν•˜λŠ” 이유 

  • μ•ˆλ“œλ‘œμ΄λ“œκ°€ μ•„λ‹Œ ν”Œλž«νΌ(ex. iOS, Window)μ—μ„œλŠ” μ§μ ‘μ μœΌλ‘œ μ‹œμŠ€ν…œ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•΄ μ‹œμŠ€ν…œ μž‘μ—…μ„ μˆ˜ν–‰ν•˜κ±°λ‚˜ 직접 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— μ ‘κ·Ό κ°€λŠ₯함. (os 계정 κΈ°λ°˜μ΄λΌμ„œ 앱듀은 "os μ‚¬μš©μž κΆŒν•œ"을 κ·ΈλŒ€λ‘œ 상속 λ°›μŒ)
  • μ•ˆλ“œλ‘œμ΄λ“œλŠ” "μ•± > ν”„λ ˆμž„ μ›Œν¬(android μ•ˆμ— μžˆλŠ” application framework λ ˆμ΄μ–΄)  > μ‹œμŠ€ν…œ μ„œλΉ„μŠ€ > OS" κ΅¬μ‘°λΌμ„œ, 앱이 νŠΉμ • μ‹œμŠ€ν…œ μ„œλΉ„μŠ€λ₯Ό 써도 λ˜λŠ”μ§€ 일일이 ν”„λ ˆμž„μ›Œν¬κ°€ 검증 (λ§€λ‹ˆνŽ˜μŠ€νŠΈ κΆŒν•œ μ„ μ–Έ, λŸ°νƒ€μž„ κΆŒν•œ μš”μ²­, context 둜 μ‹œμŠ€ν…œ μ„œλΉ„μŠ€ μ ‘κ·Ό λ“±) ν•˜λŠ” 절차 ν•„μš” 

ν”„λ‘œμ„ΈμŠ€μ™€ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 관계 

- 일반적으둜 ν”„λ‘œκ·Έλž¨μ΄λž€ 아직 μ‹€ν–‰λ˜μ§€ μ•Šμ€ 것 -> λ©”λͺ¨λ¦¬ ν• λ‹Ή λ°›μŒ -> ν”„λ‘œμ„ΈμŠ€κ°€ 됨. 

- μ• ν”Œλ¦¬μΌ€μ΄μ…˜ = ν”„λ‘œκ·Έλž¨ 

- λ‹€λ₯Έ ν”Œλž«νΌμ—μ„œλŠ” ν”„λ‘œμ„ΈμŠ€μ™€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜(ν”„λ‘œκ·Έλž¨)이 직접 μ—°κ²°λΌμ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ‹€ν–‰μ‹œ ν”„λ‘œμ„ΈμŠ€ 생성됨. λ˜ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ’…λ£Œλ˜λ©΄ ν”„λ‘œμ„ΈμŠ€ 사라짐. 

- μ΄λ ‡κ²Œ 되면 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μžμ²΄κ°€ ν”„λ‘œμ„ΈμŠ€μ™€ μ—°κ²°λ˜μ–΄ λ™μž‘ν•˜κΈ° λ•Œλ¬Έμ— λ§€κ°œμ²΄μ—†μ΄ μ§μ ‘μ μœΌλ‘œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό κ΄€λ ¨ μž‘μ—… μˆ˜ν–‰κ°€λŠ₯. 

 

μ•ˆλ“œλ‘œμ΄λ“œμ—μ„œμ˜ ν”„λ‘œμ„ΈμŠ€μ™€ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ 

- BUT, μ•ˆλ“œλ‘œμ΄λ“œμ˜ 경우 ν”„λ‘œμ„ΈμŠ€μ™€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ λ”°λ‘œ 관리됨. 

- μ•ˆλ“œλ‘œμ΄λ“œ ν”„λ ˆμž„μ›Œν¬ >  μ• ν”Œλ¦¬μΌ€μ΄μ…˜(μ»΄ν¬λ„ŒνŠΈ) 생λͺ…μ£ΌκΈ° 관리

- μ•ˆλ“œλ‘œμ΄λ“œ os (λ¦¬λˆ…μŠ€ 컀널) > ν”„λ‘œμ„ΈμŠ€ 생성/μ’…λ£Œ, λ©”λͺ¨λ¦¬, μŠ€μΌ€μ€„λ§ 

- 이에 따라 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ’…λ£ŒλΌλ„ ν”„λ‘œμ„ΈμŠ€ μ†Œλ©Έλ˜μ§€ μ•Šμ„ 수 있음 !! 

- μ•ˆλ“œλ‘œμ΄λ“œλŠ” λ¦¬λˆ…μŠ€ 기반으둜, 각 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ§ˆλ‹€ 고유의 UID(User ID) λ₯Ό 뢀여함.

- 즉, μ•± ν•˜λ‚˜ν•˜λ‚˜κ°€ λ…λ¦½λœ μ‚¬μš©μžμ²˜λŸΌ λ™μž‘ν•˜λ©°, 자기 ν”„λ‘œμ„ΈμŠ€ λ°–μ˜ μ˜μ—­μ€ μ ˆλŒ€ κ±΄λ“œλ¦΄ 수 μ—†μŒ. μ΄λ•Œ context κ°€ 신뢄증 역할을 ν•¨μœΌλ‘œμ¨ 앱이 μ‹œμŠ€ν…œ μžμ›μ—λ„ μ ‘κ·Όν•  수 있게 ν•΄μ€Œ. 

- μ•ˆλ“œλ‘œμ΄λ“œλŠ” 앱을 μ‹€ν–‰ν•  λ•Œ λͺ¨λ“  μ‹œμŠ€ν…œ 및 μ•± ν”„λ‘œμ„ΈμŠ€μ˜ 루트 역할을 ν•˜λŠ” android 운영체제의 ν”„λ‘œμ„ΈμŠ€μΈ zygote λ₯Ό λ³΅μ œν•΄μ„œ 싀행함. 이에 따라 ν”„λ‘œμ„ΈμŠ€ λ‚΄μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ„€μ • 정보λ₯Ό μ£Όμž… λ°›λŠ” 과정이 ν•„μˆ˜μ  

- μ•ˆλ“œλ‘œμ΄λ“œ os κ°€ λ©”λͺ¨λ¦¬ λΆ€μ‘±ν• λ•Œ context 에 μ—°κ²°λœ μ»΄ν¬λ„ŒνŠΈ μƒνƒœλ₯Ό 보고 ν”„λ‘œμ„ΈμŠ€ μš°μ„  μˆœμœ„λ₯Ό 결정함. 

 

 

- μ™œ κ΅¬λΆ„ν•˜λŠ”κ°€? λͺ¨λ°”일 λ””λ°”μ΄μŠ€ νŽΈμ˜μ„±μ„ μœ„ν•¨. 

- λͺ¨λ°”일 ν™˜κ²½μ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ μ•„μ£Ό 짧게 반볡적으둜 μ‚¬μš©λ˜λ©°, λ©”λͺ¨λ¦¬ 곡간 μžμ²΄λ„ μ œν•œμ΄ λ§Žμ€νŽΈμž„. 

- λ”°λΌμ„œ λ©€ν‹°νƒœμŠ€ν‚Ή μž‘μ—… μ‹œ μƒˆ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 맀번 μ‹€ν–‰μ‹œν‚€λŠ”λ° μ œμ•½μ΄ 따름. > κ²°κ΅­ 뢄리함. 

 

κ²°λ‘  

- Context λž€ μ•ˆλ“œλ‘œμ΄λ“œ ν”„λ ˆμž„μ›Œν¬κ°€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹λ³„ν•˜κ³  κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” μ‹€ν–‰ ν™˜κ²½μ— λŒ€ν•œ μ ‘κ·Ό μΈν„°νŽ˜μ΄μŠ€ 

- μ»¨ν…μŠ€νŠΈλ₯Ό 톡해 λ‹€μŒμ— μ ‘κ·Όν•  수 μžˆλ‹€. 

  • μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ¦¬μ†ŒμŠ€ (R.string, R.drawable λ“±)
  • μ‹œμŠ€ν…œ μ„œλΉ„μŠ€ (Notification, Vibrator, Connectivity λ“±)
  • 파일 μ‹œμŠ€ν…œ, SharedPreferences
  • μ»΄ν¬λ„ŒνŠΈ μ‹€ν–‰ (Activity, Service, Broadcast)

- Context = “이 μ½”λ“œκ°€ μ–΄λŠ μ•±, μ–΄λŠ ν™”λ©΄, μ–΄λŠ 생λͺ…μ£ΌκΈ°μ—μ„œ μ‹€ν–‰λ˜λŠ”μ§€ μ•Œλ €μ€Œ" 

- μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ λ™μž‘ν• λ•Œ μžμ‹ μ΄ ν•΄λ‹Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μž„μ„ λ‚˜νƒ€λ‚΄κΈ° μœ„ν•΄ context λ₯Ό μ‚¬μš©. 

- κ·Έλž˜μ„œ ν”„λ ˆμž„μ›Œν¬λŠ” Contextλ₯Ό κΈ°μ€€μœΌλ‘œ:

  • 이 μš”μ²­μ΄ μ–΄λ–€ μ•±μ—μ„œ μ™”λŠ”μ§€
  • 이 앱이 이 κΈ°λŠ₯을 μ‚¬μš©ν•  κΆŒν•œμ΄ μžˆλŠ”μ§€
  • 이 μž‘μ—…μ΄ ν˜„μž¬ 생λͺ…μ£ΌκΈ°μ—μ„œ κ°€λŠ₯ν•œμ§€

λ₯Ό νŒλ‹¨ν•  수 있음. 

- μ•ˆλ“œλ‘œμ΄λ“œλŠ” 앱이 μš΄μ˜μ²΄μ œμ™€ 직접 ν†΅μ‹ ν•˜μ§€ μ•Šκ³  λ°˜λ“œμ‹œ ν”„λ ˆμž„μ›Œν¬λ₯Ό ν†΅ν•΄μ„œλ§Œ μ‹œμŠ€ν…œ κΈ°λŠ₯에 μ ‘κ·Όν•˜λŠ” κ΅¬μ‘°μž„. 

- κ·Έλž˜μ„œ "λ‚˜λŠ” 이 앱이고 μ§€κΈˆ 이 μƒνƒœμ—μ„œ 이 μž‘μ—…μ„ ν•˜κ³  μ‹Άλ‹€" 라고 ν”„λ ˆμž„μ›Œν¬μ— μ „λ‹¬ν•˜κΈ° μœ„ν•œ ν†΅λ‘œκ°€ context

 

context μ’…λ₯˜ 

- Application κ³Ό Activity ν΄λž˜μŠ€λŠ” λͺ¨λ‘ context λ₯Ό 상속받은 μžμ‹κ΄€κ³„μž„. 

 

1. Application context

- μ•± μ „μ²΄μ˜ ν”„λ‘œμ„ΈμŠ€ 생λͺ…주기와 μ—°κ²°λœ 단 ν•˜λ‚˜μ˜ 싱글톀 μ»¨ν…μŠ€νŠΈ 

- getApplicationContext() λ©”μ†Œλ“œ μ‚¬μš© 

- 앱이 μ‹€ν–‰λ˜λŠ” λ™μ•ˆ μ‚¬μš© κ°€λŠ₯. 

- UI 상관 없이 μ•± 전체에 μœ νš¨ν•΄μ•Ό ν•˜λŠ” μž‘μ—…μ— μ‚¬μš© 

- μΆ”κ°€μ μœΌλ‘œ, ContextThemeWrapper κ°€ μ—†κΈ° λ•Œλ¬Έμ— UI κ΄€λ ¨ μž‘μ—…μ€ λΆˆκ°€λŠ₯ 

 

2. Activity context (μ»΄ν¬λ„ŒνŠΈ λ‹¨μœ„)

- UI(Window), ν…Œλ§ˆ, μ•‘ν‹°λΉ„ν‹° 생λͺ…μ£ΌκΈ° κΈ°λŠ₯이 μΆ”κ°€λœ μ»¨ν…μŠ€νŠΈ

- activity context λ₯Ό μ‚¬μš©ν•΄ νŠΉμ • κΈ°λŠ₯을 μΈμŠ€ν„΄μŠ€ν™”ν•˜λ©΄ μ•‘ν‹°λΉ„ν‹°κ°€ μž¬μƒμ„±λ  λ•Œλ§ˆλ‹€ λ‹€μ‹œ λ§Œλ“€μ–΄μ§. 

ꡬ뢄 곡식 λ¬Έμ„œμƒ μ£Όμš” νŠΉμ§• μ ν•©ν•œ μž‘μ—…
Activity Context νŠΉμ • 화면에 쒅속, UI κ΄€λ ¨ λ¦¬μ†ŒμŠ€(Theme) 보유 λ‹€μ΄μ–Όλ‘œκ·Έ ν‘œμ‹œ, μ•‘ν‹°λΉ„ν‹° μ‹œμž‘, λ ˆμ΄μ•„μ›ƒ μΈν”Œλ ˆμ΄μ…˜
Application Context μ•± ν”„λ‘œμ„ΈμŠ€ 전체에 쒅속, UI μž‘μ—… λΆˆκ°€ (일뢀 μ˜ˆμ™Έ μ œμ™Έ) 싱글톀 라이브러리 μ΄ˆκΈ°ν™” (Retrofit, Room λ“±), 곡유 μ €μž₯μ†Œ (Prefs) μ ‘κ·Ό 

 

 

 

좜처 

 

Context  |  API reference  |  Android Developers

 

developer.android.com

 

 

[κ°œλ… 콕] μ•ˆλ“œλ‘œμ΄λ“œ Context - 내일배움캠프 λΈ”λ‘œκ·Έ

내일배움캠프 μˆ˜λ£Œμƒμ΄ κ°œλ°œμ— κΌ­ ν•„μš”ν•œ 핡심 κ°œλ…λ§Œ 콕 μ§‘μ–΄ λ“œλ¦½λ‹ˆλ‹€. | μΈμ‚¬μ΄νŠΈ

nbcamp.spartaclub.kr

 

'ν”„λ‘œκ·Έλž˜λ° > Android' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[kotlin] μ½”ν‹€λ¦°(Kotlin) κ³Ό 코루틴(Coroutine)에 λŒ€ν•΄  (1) 2026.01.17
[260114] Android Jetpack Compose의 3단계 μ‹€ν–‰ νŒŒμ΄ν”„λΌμΈ(μ»΄ν¬μ§€μ…˜, λ ˆμ΄μ•„μ›ƒ, 그리기)  (0) 2026.01.14
[240808][μ•ˆλ“œλ‘œμ΄λ“œ μžλ°”] μ•ˆλ“œλ‘œμ΄λ“œ ν”„λ‘œμ νŠΈ λΉŒλ“œ 및 μ‹€ν–‰ κ³Όμ •  (0) 2024.08.08
[Android/JAVA] "μ˜μ‹¬μŠ€λŸ¬μš΄ λ“€μ—¬μ“°κΈ°" 이슈 . . . Suspicious indentation 였λ₯˜. μž‘λ™μ—λŠ” 문제 μ—†μŒ  (2) 2024.02.09
[Android/JAVA] μœ„λ„, 경도 κ°’μœΌλ‘œ 거리 κ΅¬ν•˜κΈ° (Km, M, S)  (0) 2024.02.08
'ν”„λ‘œκ·Έλž˜λ°/Android' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [kotlin] μ½”ν‹€λ¦°(Kotlin) κ³Ό 코루틴(Coroutine)에 λŒ€ν•΄
  • [260114] Android Jetpack Compose의 3단계 μ‹€ν–‰ νŒŒμ΄ν”„λΌμΈ(μ»΄ν¬μ§€μ…˜, λ ˆμ΄μ•„μ›ƒ, 그리기)
  • [240808][μ•ˆλ“œλ‘œμ΄λ“œ μžλ°”] μ•ˆλ“œλ‘œμ΄λ“œ ν”„λ‘œμ νŠΈ λΉŒλ“œ 및 μ‹€ν–‰ κ³Όμ •
  • [Android/JAVA] "μ˜μ‹¬μŠ€λŸ¬μš΄ λ“€μ—¬μ“°κΈ°" 이슈 . . . Suspicious indentation 였λ₯˜. μž‘λ™μ—λŠ” 문제 μ—†μŒ
jennnnna
jennnnna
  • jennnnna
    πŸ’»πŸ€Jennna's BLOG
    jennnnna
  • 전체
    였늘
    μ–΄μ œ
    • λΆ„λ₯˜ 전체보기 (75) N
      • 컴퓨터 (1)
        • Operating system 운영체제 (8)
      • ν”„λ‘œκ·Έλž˜λ° (5)
        • JAVA (6)
        • PHP (1)
        • Android (7)
        • Apache (1)
        • Python (0)
      • 곡뢀 (15)
        • μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ 곡뢀기둝 (12)
        • TIL (3)
      • AI (3) N
      • TTS (1)
      • LLM (2)
      • RAG (1)
      • μ–΄ν•™ (5)
        • English (5)
        • Japanese (ζ—₯本θͺž) (0)
      • κΈ€μ“°κΈ° (5)
  • λΈ”λ‘œκ·Έ 메뉴

    • ν™ˆ
    • λ°©λͺ…둝
  • 링크

  • 곡지사항

  • 인기 κΈ€

  • νƒœκ·Έ

    μžλ°”κ³΅μ‹λ¬Έμ„œ
    cs곡뢀
    CS지식
    운영체제
    ν‹°μŠ€ν† λ¦¬μ±Œλ¦°μ§€
    μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ν•„κΈ°
    μžλ°”κΈ°μ΄ˆ
    μΉ΄νŽ˜μ•Œλ°”
    λΉ„μ „κ³΅μžκ°œλ°œμž
    λΉ„μ „κ³΅μžcs곡뢀
    μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬
    μ•ˆλ“œλ‘œμ΄λ“œ
    μž₯μΈν•œκ³Ό
    μžλ°”λ…ν•™
    μžλ°”κ³΅λΆ€
    μš΄μ˜μ²΄μ œκ³΅λΆ€
    λ¬΅μ€μ§€μ°ΈμΉ˜κΉ€λ°₯
    μ˜€λΈ”μ™„
    μ •μ²˜κΈ°
    μ•ˆλ“œλ‘œμ΄λ“œκ°œλ°œ
  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.5
jennnnna
[260112] Android Context λž€?
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”