1cfd3bbb56
Topic_CSS/Topic_HTML/Topic_JavaScript/Topic_Prompt/Topic_Comfyui 등 기존 카테고리 폴더를 정리하고, Topic_Graphic/Dev 등 신규 산출물과 Topics 내부 세션/메모리 기록을 동기화.
74 lines
3.3 KiB
Markdown
74 lines
3.3 KiB
Markdown
---
|
|
id: java-scope
|
|
title: "Java Scope"
|
|
category: "Programming_Language"
|
|
status: "draft"
|
|
verification_status: "conceptual"
|
|
canonical_id: ""
|
|
aliases: ["자바 변수 범위"]
|
|
duplicate_of: ""
|
|
source_trust_level: "B"
|
|
confidence_score: 0.9
|
|
created_at: 2026-07-04
|
|
updated_at: 2026-07-04
|
|
review_reason: ""
|
|
merge_history: []
|
|
tags: ["java", "programming", "w3schools", "scope"]
|
|
raw_sources: ["https://www.w3schools.com/java/java_scope.asp"]
|
|
applied_in: []
|
|
github_commit: ""
|
|
---
|
|
|
|
# [[Java Scope]]
|
|
|
|
## 🎯 한 줄 통찰 (One-line insight)
|
|
A loop's counter variable dies when the loop ends, which means the same name (`i`, `j`) can be safely reused across separate loops in the same method — scope isn't just a restriction, it's what enables variable-name reuse without conflict. [S1]
|
|
|
|
## 🧠 핵심 개념 (Core concepts)
|
|
- **Scope** — the region where a variable is accessible; Java variables live only inside the region where they're created. [S1]
|
|
- **Method scope** — a variable is usable anywhere in the method AFTER its declaration line, not before. [S1]
|
|
- **Block scope** — `{ }` delimits a block; a variable declared inside is accessible only within that block, and only after its declaration line. [S1]
|
|
- **Loop scope** — a variable declared in a for-loop header exists only inside that loop; it's destroyed once the loop ends. [S1]
|
|
- **Name reuse across loops** — since each loop's `i` is destroyed at loop end, separate loops in the same method can reuse the same variable name. [S1]
|
|
|
|
## 📖 세부 내용 (Details)
|
|
- Method scope: `int x = 100;` declared mid-method is unusable before its declaration line, usable after. [S1]
|
|
- Block scope: a variable declared inside `{ }` is inaccessible both before the block and after it ends. [S1]
|
|
- Loop scope: `for (int i = 0; i < 5; i++) { System.out.println(i); } // i is NOT accessible here`. [S1]
|
|
- Reused loop variable names: two separate `for (int i = 0; ...)` loops in the same method, each with their own independent `i`. [S1]
|
|
|
|
## ⚖️ 모순 및 업데이트 (Contradictions & updates)
|
|
소스에서 모순되는 정보는 발견되지 않음.
|
|
|
|
## 🛠️ 적용 사례 (Applied in summary)
|
|
현재 발견된 실제 적용 사례가 없습니다 — 여러 반복문에서 동일한 변수명(i, j)을 안전하게 재사용할 수 있는 근거가 스코프 규칙이다. [S1]
|
|
|
|
## 💻 코드 패턴 (Code patterns)
|
|
Safe reuse of loop variable name across separate loops (Java):
|
|
```java
|
|
for (int i = 0; i < 3; i++) {
|
|
System.out.println("Loop 1: " + i);
|
|
}
|
|
for (int i = 0; i < 2; i++) {
|
|
System.out.println("Loop 2: " + i);
|
|
}
|
|
```
|
|
|
|
## ✅ 검증 상태 및 신뢰도
|
|
- **상태:** draft
|
|
- **검증 단계:** conceptual
|
|
- **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body)
|
|
- **신뢰 점수:** 0.90
|
|
- **중복 검사 결과:** 신규 생성 (New discovery)
|
|
|
|
## 🔗 지식 그래프 (Knowledge Graph)
|
|
- **상위/루트:** [[Java Tutorial]]
|
|
- **관련 개념:** [[Java For Loop]], [[Java Methods]], [[Java Recursion]]
|
|
- **참조 맥락:** 변수 접근 범위 규칙 — 메서드/블록/반복문 스코프의 차이.
|
|
|
|
## 📚 출처 (Sources)
|
|
- [S1] W3Schools — Java Scope — https://www.w3schools.com/java/java_scope.asp
|
|
|
|
## 📝 변경 이력 (Change history)
|
|
- 2026-07-04: Initial draft synthesized from the W3Schools "Java Scope" page (Astra wiki-curation, P-Reinforce v3.1 format).
|