POST

[안드로이드] 안드로이드 스튜디오 컨텍스트란?

컨택스트(Context)는 시스템을 사용하기 위한 정보(프로퍼티)와 도구(메서드)가 담겨 있는 클래스 이다.

 

대부분의 컨텍스트는 컴포넌트 실행(Runtime)시 함께 생성되고, 생성된 컴포넌트가 가지고 있는 메서드를 호출해서 각각의 도구들을 사용 할 수 있다.

 

안드로이드에서의 컨텍스트는 앱을 실행하기 위해 잘 짜여진 설계도의 개념으로 앱에서 사용하는 기본 기능이 담겨있는 기본 글래스(Basic Class)이다. 모든 액티비티는 컨텍스트를 상속 받아 구현한다.

 

컨텍스트의 종류

애플리케이션 컨텍스트(Application Context)

애플리케이션과 관련된 핵심 기능을 담고 있는 클래스이다. 앱을 통틀어서 하나의 인스턴스만 생성 된다. 액티비티나 서비스 같은 컴포넌트에서 applicationContext를 직접 호출해서 사용 할 수 있는데 호출하는 지점과 관계없이 모두 동일한 컨텍스트가 호출된다.

 

베이스 컨텍스트(Base Context)

안드로이드의 4대 메이저 컴포넌트인 액티비티, 서비스, 컨텐트 프로바이더, 브로드캐스트 리시버의 기반 클래스이다. 각각의 컴포넌트에서 baseContext 또는 this로 컨텍스트를 사용 할 수 있고 컴포넌트의 개수만큼 컨텍스트도 함께 생성되기 때문에 호출되는 지점에 따라 서로 다른 컨텍스트가 호출된다.