{ }
를 기준으로 적용됩니다!{}
이 열리면 변수가 생성되고, {}
가 닫히면 변수는 소멸됩니다.{}
에서는 이름이 똑같은 변수를 쓸 수 있어요.자바코드입력
자바코드입력
하지만 위의 코드를 보면, 변수 star와 i는 클래스 내 여러 곳에서 반복 사용됨에도 불구하고, 에러 없이 결과가 출력됩니다.
그이유는 위의 코드에 네 개의 메소드가 있죠?
main() { }
printStarLine() { }
printStarSqure() { }
printStarTri() { }
{ }
안에서는 이름이 똑같은 변수가 없고, { }
밖에서만 이름이 똑같은 변수가 중복사용되기 때문이예요.
콘솔 창 결과
*****
*****
*****
*****
*****
*****
*
**
***
****
*****
***
***
***
***
*
**
***
스코프는 변수의 사용가능한 범위를 뜻합니다. 그리고 그 범위는 {}입니다.
자바코드입력
public class Scope1 {
public static void main(String[] args) {
for (int i=0; i<10; i++) {
System.out.print(i);
}
System.out.println();
for (int i=0; i<5; i++) {
System.out.print("*^^* ");
}
콘솔 창 결과
0123456789
*^^* *^^* *^^* *^^* *^^*
자바코드입력
(변수의 적용 범위가 중복되어 에러)
자바코드입력
(변수의 적용 범위가 중복되므로 변수의 이름을 서로 다르게 해줘야 해요.)
public class Scope1 {
public static void main(String[] args) {
for (int i=0; i<3; i++) {
for (int j=0; j<3; j++) {
System.out.print("*^^* ");
}
System.out.println(i);
}
콘솔 창 결과
*^^* *^^* *^^* 0
*^^* *^^* *^^* 1
*^^* *^^* *^^* 2