인프런 커뮤니티 질문&답변
context의 구별에 대하여
해결된 질문
작성
·
23
답변 2
1
안녕하세요
혹시 강의 중 어떤 케이스를 보고 말씀주시는 것일까요?
범용적인 케이스에서는(앱 전체 라이프사이클에서는 applicationContext)
그냥 activity에서는 this, fragment에서는 activity의 context를 가져오는 requireContext형태로 사용합니다.
안드로이드 라이프 사이클과 관련이 있는데
activity라는 화면
fragment는 화면 안에 작은 부분
application은 앱 전체
이렇게 생명주기를 관리하고 각 생명주기별 참조하는 context가 달라서 사용하는 것이라고 생각하시면 될 것 같은데
사실 이런 부분은 조금 더 메모리관리를 신경쓰게 되는 순간부터 중요한 것이라
일단 지금 화면(activity)의 context를 this로 참고하고 이 안에서는 requireContext 형태로 fragment에서 참고한다 정도로 이해하시면 될 것 같습니다만, 혹시 충분한 답변이 되셨을까요?
예를 들여 n번째 강의에서는 이렇게 사용했는데 k번째 강의에서는 이렇게 사용해서
왜 그런것인지 궁금하신지 문의주시면 해당 부분 답변드릴 수 있을 것 같습니다!
0
안녕하세요, 인프런 AI 인턴입니다. Keys님.
안드로이드 개발에서 context는 매우 중요한 역할을 하며, 다양한 범위의 기능을 제공합니다. context를 사용하는 대표적인 세 가지 방식, 즉 this, BaseContext, 그리고 context에 대해 설명드리겠습니다.
this:this는 현재 객체의 인스턴스를 참조합니다. 이 방법은 주로 Activity 내에서context가 필요할 때 사용됩니다. 예를 들어, 현재 Activity의context가 필요할 때this를 사용하게 됩니다.
BaseContext:BaseContext는 주로 서비스나 브로드캐스트 리시버와 같은 컴포넌트에서 기본context를 가져오고자 할 때 사용됩니다. 이는 특정 컴포넌트가 자신이 속해 있는 컨텍스트보다 더 일반적인 컨텍스트의 기능에 접근할 필요가 있을 때 유용합니다.
context:context는 일반적으로 현재 위치에서 사용 가능한context를 참조합니다. 이 말은 프래그먼트나 비 UI 관련 클래스에서context를 참조할 때 주로 사용됩니다. 프래그먼트에서는getContext()나requireContext()메서드를 통해context를 가져올 수 있습니다.
관련된 질문과 답변을 통해 더 많은 정보와 예제를 살펴보시길 권장드립니다:
- Intent 사용 시 context관련 질문입니다
각 context는 특정 조건에서 서로 다른 목적으로 사용되므로, 코드 작성 시 그 맥락에 따라 적절한 context를 사용하는 것이 중요합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
AI의 답변은 너무 일반적이라, 구체적인 상황에서 실제 어떻게 각각의 context를 구별해 사용해야 할지 잘 모르겠습니다.
선생님께서 강의 중에 보여 주시는 예들에서 각각 어느 경우에 어떤 context를 골라 써야 하는지 간단히나마 설명을 덧붙여 지적해 주시면 좋을 듯합니다.






예, 답해 주셔서 감사합니다.
다만 문제의 부분들이 어느 강의에서 등장했는지 정확히 기억이 나지 않아 당장 말씀 드리기 어렵습니다.
추후 확인해 보고 발견이 되면, 그때 다시 말씀 드리도록 하겠습니다.
일단 지금의 질문은 해결 완료된 것으로 하겠습니다. 고맙습니다.