---
id: context
title: "Context"
category: "Computer_Science_and_Cognitive_Linguistics"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["맥락", "컨텍스트", "문맥", "Execution Context", "In-context Learning", "High/Low Context"]
duplicate_of: ""
source_trust_level: "A"
confidence_score: 0.95
created_at: 2026-07-11
updated_at: 2026-07-11
review_reason: ""
merge_history: []
tags: ["research", "context 이해 규칙"]
raw_sources: [
"Application Context, Activity Context and Memory leaks | by Shashank Mistry | Medium",
"Blogged Answers: Why React Context is Not a 'State Management' Tool (and Why It Doesn't Replace Redux)",
"Context - React",
"Difference between Swapping and Context Switching - TutorialsPoint",
"Effective context engineering for AI agents - Anthropic",
"Execution Context 실행 컨텍스트를 알아야하는 이유? - 넥스트리",
"High vs Low Context Cultures: A Practical Guide for Global Teams - Talaera",
"What is In-context Learning, and how does it work: The Beginner's Guide - Lakera AI",
"Relevance theory - University of Southampton Web Archive",
"다차원적 맥락 이해 규범의 통섭적 분석: 인지과학, 언어학, 컴퓨터 과학 및 인공지능 모델의 통합적 메커니즘",
"[AI/LLM] Transformer Attention 이해하기: Q, K, V의 역할과 동작 원리",
"맥락을 고려하는 뇌 - 바이오인",
"5 Types of Context Clues to Boost Reading Comprehension | Upper Elementary Snapshots"
]
applied_in: []
github_commit: ""
---
# [[Context]]
## 🎯 한 줄 통찰 (One-line insight)
**Context(맥락)**는 시스템, 인지 주체, 또는 대화 참여자가 모호성을 해소하고 현재의 상태(State)나 입력값에 **정확한 의미를 부여하거나 올바른 실행 경로를 결정할 수 있도록 지원하는 필수적인 배경 정보이자 환경 규범**이다.
## 🧠 핵심 개념 (Core concepts)
1. **소프트웨어 아키텍처에서의 실행 및 상태 환경 (Execution & State Context):** 운영체제의 Context Switching(프로세스 상태의 저장/복원), JavaScript의 Execution Context(변수/함수 호이스팅 및 Scope 관리), 안드로이드의 Application/Activity Context 등 **프로그램이 실행되는 기준이 되는 메모리와 생명주기의 바운더리**를 의미한다.
2. **의존성 주입 및 정보 수송 (Information Routing):** React Context API는 상태 관리(State Management) 도구가 아니라, 컴포넌트 트리 깊숙한 곳까지 Props를 일일이 전달하는 **Prop-drilling을 방지하기 위한 의존성 주입(Dependency Injection) 및 데이터 수송 메커니즘**이다.
3. **AI와 자연어 처리에서의 인지 공간 (Cognitive & Inferential Context):** LLM의 In-context Learning(ICL), Transformer의 Attention 메커니즘(Q, K, V) 및 Context Engineering은 **주어진 토큰(Token)이나 예시(Exemplars) 내에서 의미적 연관성을 추론하여 최적의 결과값을 생성하는 베이지안/가중치 연산 기반의 학습 및 추론 환경**이다.
4. **의사소통의 화용론적 규범 (Relevance & Pragmatic Context):** 인간의 소통은 투입되는 처리 노력(Processing Effort) 대비 인지적 효과(Cognitive Effect)를 극대화하는 방향으로 맥락을 해석하며(관련성 이론, Relevance Theory), 이는 발화의 명시적 함의(Explicature)를 복원하는 핵심 기제이다.
5. **사회·문화적 행동 지침 (Cultural Context & Schema):** 에드워드 홀(Edward T. Hall)의 고맥락/저맥락(High/Low-Context) 문화 이론과 인지심리학의 도식(Schema)/스크립트(Script) 이론에 따르면, 맥락은 **인간이 복잡한 상황에서 에너지를 덜 쓰고도 적절하게 상호작용하도록 돕는 무의식적이고 집단적인 배경 지식 구조**다.
## 🧩 추출된 패턴 (Extracted patterns)
* **모호성 해소 및 추론 (Disambiguation & Inference):** 언어학의 문맥 단서(Context Clues), AI의 어텐션 메커니즘, 뇌 신경 회로(해마-내측전전두피질)는 모두 모호한 정보가 주어졌을 때 **주변의 맥락적 단서를 통합하여 정확한 의미나 적절한 생존 반응(예: 공포 소거)을 도출**하는 공통된 패턴을 띤다 [S10, S11, S12].
* **자원 제약과 최적화 (Resource Constrained Optimization):** 운영체제의 CPU 레지스터 저장(Context Switching), LLM의 컨텍스트 윈도우 압축(Compaction) 등 맥락 처리는 항상 **시스템의 제한된 자원(시간, 메모리, Attention Budget)을 가장 효율적으로 배분하려는 경제성 원리**의 지배를 받는다 [S4, S5].
* **계층적 생명주기 분리 (Hierarchical Lifecycle Management):** 안드로이드의 Application/Activity Context 구분, JS의 전역/함수 실행 컨텍스트 등 맥락은 **생명주기(Lifecycle) 단위로 스코프를 분리하여 메모리 누수를 방지하고 충돌을 격리**하는 설계 패턴을 갖는다 [S1, S6].
## ⚖️ 비교 및 선택 기준 (Comparison & decision criteria)
| 항목 (Option) | 장점 | 단점 | 언제 선택 |
|---|---|---|---|
| **React Context API** [S2, S3] | Prop-drilling 방지, 설정 및 사용이 간편하며 외부 라이브러리가 불필요함. | 상태 변경 시 하위 Consumer 컴포넌트 전체가 재렌더링됨. 복잡한 상태 관리에 부적합. | 정적이고 변경 빈도가 낮은 전역 데이터(테마, 언어, 로그인 유저 정보 등)를 컴포넌트 트리에 전달할 때. |
| **Redux (React+Redux)** [S2] | 상태 변경 내역 추적(DevTools) 용이, 미들웨어 활용 가능, 특정 상태만 선택적 구독 및 리렌더링 최적화. | 설정(Boilerplate) 코드가 많고, 학습 곡선이 높음. | 복잡한 클라이언트 측 상태 관리, 상태 변경의 이력 추적이 필수적이며, 빈번한 상태 업데이트가 일어날 때. |
| **Activity Context (Android)** [S1] | GUI(Dialog, Toast 등) 작업과 완벽히 호환되며 액티비티 수명과 일치. | 비동기 작업 중 액티비티가 파괴될 때 참조를 유지하면 치명적 메모리 누수 발생. | 화면 UI와 관련된 짧은 생명주기의 객체를 제어할 때. |
| **Application Context (Android)** [S1] | 앱 종료 시까지 동일 객체가 유지되어 생명주기에 독립적이므로 메모리 누수 위험이 적음. | GUI 관련 컴포넌트(Dialog 등) 작동 시 에러 발생 가능. | 전역 백그라운드 작업, DB 접근, 싱글톤 패턴 등 액티비티 생명주기와 무관한 작업 시. |
| **Context Switching (OS)** [S4] | CPU 레지스터 및 PCB 내에서 고속으로 상태 저장/복원이 이루어져 멀티태스킹 구현. | 잦은 전환 시 오버헤드 발생. | 프로세스 스케줄링, 인터럽트 처리 등 CPU 시분할 점유가 필요할 때. |
| **Swapping (OS)** [S4] | 디스크를 활용해 메인 메모리의 한계를 극복. | 디스크 I/O 발생으로 속도가 매우 느림. | 메인 메모리(RAM) 용량이 부족하여 프로세스 전체 이미지를 디스크로 내보내야 할 때. |
## 📖 세부 내용 (Details)
**1. 컴퓨터 과학에서의 Execution Context & State**
* **운영체제(OS) Context Switching:** 프로세스 제어 블록(PCB)에 현재 프로세스의 상태(프로그램 카운터, 레지스터 값 등)를 저장하고 다른 프로세스의 상태를 적재하는 메커니즘이다. 이는 디스크 영역으로 데이터가 이동하는 Swapping과 달리 CPU 내부 레지스터를 통해 빠르게 이루어지나 잦은 스위칭은 오버헤드를 유발한다 [S4].
* **JavaScript Execution Context:** JS 엔진이 코드를 평가하고 실행하는 환경으로, 스코프와 호이스팅을 관리하는 `Variable Environment`, 런타임 시 동적 변화를 반영하는 `Lexical Environment`, 그리고 함수 호출 방식에 따라 동적으로 결정되는 `this binding`으로 구성된다 [S6].
* **Android Context:** 앱 컴포넌트 간 정보 접근과 자원 호출을 담당한다. UI 관련 작업에는 생명주기가 짧은 `Activity Context`를 사용해야 하며, 이를 ViewModel과 같은 비동기 백그라운드 객체에 잘못 주입하면 치명적인 메모리 누수(Memory Leak)가 발생한다. 전역 자원 접근 시에는 `Application Context`를 활용해야 한다 [S1].
* **React Context API:** 컴포넌트 간 전역 변수를 공유하여 수동으로 Props를 연쇄 전달하는 Prop-drilling을 막기 위한 '의존성 주입(Dependency Injection)' 파이프라인이다. **Redux와 달리 자체적으로 상태를 관리하지 않으며**, Provider 하위의 상태가 변경되면 모든 Consumer가 재렌더링되므로, 변경이 잦은 상태 관리에는 적합하지 않다 [S2, S3].
**2. AI와 자연어 처리의 맥락 처리 메커니즘**
* **어텐션 메커니즘 (Attention Mechanism):** Transformer 모델에서 어텐션은 **Q(Query, 현재 질문 단어), K(Key, 비교 대상 단어들의 인덱스), V(Value, 단어의 실제 의미 정보)** 간의 내적(Dot-product)을 통해 맥락적 연관성(Attention Score)을 계산한다. 이 점수를 기반으로 문맥적으로 중요한 정보만 선별하여(가중합) 모델이 문장의 맥락을 이해하도록 한다 [S11].
* **인맥락 학습 (In-Context Learning, ICL):** 초거대 언어 모델(LLM)이 파라미터 업데이트 없이, 주어진 프롬프트(자연어 예시)만으로 새로운 과업을 수행하는 능력이다. 이는 모델이 사전 학습 과정에서 획득한 의미론적 사전 지식(Semantic Prior)을 베이지안 추론 프레임워크를 통해 이끌어내는 과정으로 입증되고 있다 [S8, S10].
* **맥락 엔지니어링 (Context Engineering):** AI 모델의 유한한 Context Window(Attention Budget) 한계를 극복하기 위해 정보를 큐레이션하는 기법이다. 대화 기록을 압축하는 Compaction, 에이전트의 구조적 메모리 기록, 하위 에이전트(Sub-agent) 아키텍처 등을 통해 **최소한의 고신호 토큰(High-signal tokens)으로 최대의 결과(Desired outcome)**를 끌어낸다 [S5].
**3. 화용론과 인간의 인지적 맥락 처리**
* **관련성 이론 (Relevance Theory):** 스퍼버(Sperber)와 윌슨(Wilson)에 따르면, 인간 인지는 **'처리 노력(Processing Effort)'을 최소화하고 '긍정적 인지 효과(Positive Cognitive Effect)'를 극대화**하는 방향으로 맥락을 해석한다. 발화는 그 자체로 '최적의 관련성'을 보증한다는 전제하에 청자는 모호성을 해소(Disambiguation)하고 지시 대상을 할당하며 의미를 확장하여 명시적 함의(Explicatures)와 대화적 함축(Implicatures)을 추론한다 [S9, S10].
* **맥락 단서 (Context Clues):** 독해 중 미지 어휘를 접할 때, 학습자는 논리적 유추(Logic), 예시(Examples), 반의어(Antonyms), 정의(Definition), 유의어(Synonyms) 등 5가지 주변 문맥 단서(LEADS)를 통해 단어의 의미를 추론한다 [S13].
* **문화적 맥락 (High vs Low Context):** 에드워드 홀(Edward T. Hall)은 관계 중심적이고 비언어적 암묵성에 의존하는 '고맥락(High-context) 문화'(한국, 일본 등)와 명시적이고 건조한 언어 자체에 의존하는 '저맥락(Low-context) 문화'(미국, 독일 등)로 커뮤니케이션 양식을 구분하였다. 이는 글로벌 협업 시 피드백과 이메일 작성 등의 소통 양식에 큰 영향을 미친다 [S7, S10].
* **뇌신경 회로에서의 맥락 (Neuroscience):** 해마(Hippocampus)와 내측전전두피질(mPFC), 편도체 네트워크는 동물과 인간이 환경적 맥락을 부호화(Encoding)하고, 조건화된 공포 기억을 인출하거나 억제(Extinction)하는 데 핵심 역할을 수행한다 [S12].
## ⚖️ 모순 및 업데이트 (Contradictions & updates)
* **React Context의 오해:** React Context는 이름과 달리 본질적으로 '상태 관리(State Management) 시스템'이 아니다. David Khourshid 및 React 코어 팀의 언급에 따르면, Context는 단일 값을 전달하는 전송 매커니즘일 뿐, 실제 상태의 업데이트 규칙은 `useState`나 `useReducer` 등에 의해 외부에서 통제되어야 한다 [S2].
* **In-Context Learning의 작동 기전 수정:** 초창기에는 LLM이 프롬프트 예시를 보고 새로운 패턴을 '즉석에서 학습'한다고 여겨졌으나, 최근 연구(Bayesian inference framework 등)에 따르면 파라미터를 수정하는 것이 아니라, 모델이 사전 훈련 중에 습득한 '잠재 개념(Latent Concepts)'을 위치 지정(Locate)하고 이끌어내는 인지적 활성화 과정에 가깝다는 것이 정설로 받아들여지고 있다 [S8].
## 🛠️ 적용 사례 (Applied in summary)
현재 발견된 실제 적용 사례(구체적인 프로젝트 파일 경로, Git 커밋 해시, 의사결정 기록 등)가 없습니다. (소스 문서들은 개념적 이론, API 사용법 가이드라인, 심리학/언어학/AI의 일반론을 다루고 있습니다.)
## 💻 코드 패턴 (Code patterns)
소스 문서 [S3]에 명시된 React Context의 기본 생성 및 소비 패턴입니다.
```javascript
// React (Version 16.x+)
// 1. Context 생성 (기본값 설정 가능)
const ThemeContext = React.createContext('light');
// 2. Provider를 통한 Context 제공
class App extends React.Component {
render() {
return (