📍 Context
어플리케이션이나 객체의 현재 상태를 나타내주는 역할을 합니다.
방금 막 태어난 햇병아리같은 객체는 현재 자신이 위치한 환경(액티비티 / 어플리케이션)이 어떤 곳인지 대략적으로 알 필요가 있습니다. ("내가 지금 어디에 있고 난 다른 객체들과 어떻게 소통하지?") 이럴때 context가 필요합니다.
또한, 컨텍스트(Context)는 시스템의 핸들과도 같습니다. 리소스. 데이터베이스, preferences 등에 대한 접근을 제공합니다.
📝 Application Context
- 앱이 실행되는동안 계속 살아있음
- 앱이 실행되는동안 계속해서 필요한 데이터나 메소드를 저장
ex) 모든 액티비티의 생명주기를 관찰
- 앱이 꺼져도 필요한 데이터는 DB에 저장하면 좋지만 앱이 실행되는 동안만 필요한 데이터는 Application Context에 저장해도 좋음
- 여러 액티비티에서 사용할 거 같은 기능 및 변수들을 만들어놓고 Activity에서 사용가능
📝 Activity Context
- 액티비티에서 사용 가능하며 이 컨텍스트는 액티비티의 라이프사이클과 연관있음
- 액티비티에서만 사용하는 데이터나 메소드 저장
- 모든 액티비티는 자신마다 하나의 Activity Context를 구현하고있음