티스토리 뷰
■ 스코프란?
▶ "어떤 변수에 접근 가능한 범위"
뭐 클래스 개념도 모르고 파이썬으로 코드치던 시절에도 스코프 밖에서는 해당 스코프 안에 선언한 변수를 사용할 수 없다는 사실은 알고 있었다.
하지만, 접근 가능한 범위를 "스코프(scope)"라는 용어를 사용해서 지칭한다는 사실은 이제 알았다 ㅋㅋㅋ
또, 여기서 접근 가능한 범위(즉, 스코프)란 우리가 매서드를 생성하고, 구현하는 부분(구현부)인 중괄호( "{}" ) 내부를 말한다.
그래도 확실하게 이해하자는 의미에서 예제로 확인하도록 하자.
public void loopExample() {
int total = 0; // 메서드 지역변수 (메서드 전체에서 사용 가능)
int count = 0; // while 블록 밖에서 선언 → while 안/밖 모두 사용 가능
while (count < 3) {
String msg = "Hello"; // while 블록 내부 지역변수
System.out.println(msg + " " + count);
count++;
}
// System.out.println(msg); // ❌ 오류: msg는 while 끝나면 사라짐
// for문
for (int i = 0; i < 5; i++) { // i는 for 블록 내부 지역변수
String str = "World"; // str도 for 블록 내부 지역변수
System.out.println(str + " " + i);
total += i;
}
// System.out.println(i); // ❌ 오류: i는 for 끝나면 사라짐
// System.out.println(str); // ❌ 오류: str도 for 끝나면 사라짐
System.out.println("Total = " + total); // ✅ 가능
}
내일은 월요일... 학교간다 😡😡🤬🤬🤬
'Java' 카테고리의 다른 글
| 자바 - 콘솔에 로딩 중 구현하기 ( cmd에서 |/-\ 같은거!! ) (0) | 2025.09.05 |
|---|---|
| 자바 - Arrays.asList, List.of 매서드의 각각 의미와 기능, 차이 (0) | 2025.09.04 |
| 프로그램의 오류 종류 - 컴파일 오류, 런타임 오류 - Checked, Uncheck Exception, Error (15) | 2025.08.31 |
| 자바 - 제네릭에 대한 심화적 이해 (2) | 2025.08.29 |
| 자바 - 업캐스팅/다운캐스팅 (3) | 2025.08.29 |