Java/Java Concept
[Java] 변수의 영역(스코프)
군우
2018. 1. 17. 12:59
변수는 한번만 선언될 수 있다.
다시 선언되면 에러가 발생한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | package method06; public class prac1 { public static void main(String[] args){ System.out.println("start"); int a =0; if (a==0){ System.out.println("a = 0"); int b = 3 ; System.out.println("b="+ b); } else{ //System.out.println(b); b가 존재하지 않음 error } //System.out.println(b); // b가 존재하지 않음 error } } | cs |
if문의 {} 중괄호 안에서 int b를 선언했을 때, else 에서도 main에서도
b를 읽을 수 없다. 변수는 {} 안에서 접근 가능하다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | package method06; class LocalVariable { public static void main(String[] args) { boolean scope=true; if(scope) { int num=1; num++; System.out.println(num); } else { int num=2; System.out.println(num); } simple(); } public static void simple() { int num=3; System.out.println(num); } } | cs |
{} 내에서 선언이 되는 변수를 지역변수 (Local variable)라고한다.
지역 변수는 선언된 지역을 벗어나 버리면 메모리 공간에서 소멸 된다.