<참고>
* 기본적으로 변수는 기본형 변수와 참조형 변수로 분류될 수 있습니다.
변수 (variable) |
기본형 | 정수형 | byte, short, int, long, char |
실수형 | float, double | ||
논리형 | boolean | ||
참조형 | 클래스형 | String, System, ... etc. |
자바에서 변수를 선언하고
사용하지 않았을 때나, 사용하려 했을 때 아래 사진과 같은 경고 및 에러를 종종 확인하였습니다.
'The value of the local variable 변수(var1) is not used' = 지역변수 (변수)의 value는 사용되지 않았습니다.
'변수(j) cannot be resolved to a variable' = j는 변수로 사용될 수 없습니다.
왜 선언된 변수를 local variable(지역변수)라고 이야기할까요?
지역변수는 메서드 또는 조건문 등의 블럭(= { }) 내부에서 선언된 변수를 의미하며 블럭 내부에서만 사용할 수 있습니다.
그 이유는 해당 블럭이 끝난 뒤에도 계속 메모리에 남아있으면 불필요하게 메모리 공간을 차지할 수 있어서
메모리의 효율성을 높이기 위함입니다.
때문에, 지역변수가 선언된 블럭이 종료되면 자동으로 사라지는 것입니다.
위 사진에서 선언된 정수형 변수 j가 for문이 끝나고 사용될 수 없는 이유입니다.
또한, 이는 아래와 같이 연결지어 생각할 수 있습니다.
int형 변수 sum은 main메서드에서 선언되었기 때문에,
for문에서 선언된 변수 i와 달리 for문이 끝나고 나서도 사용할 수 있습니다.
-참고자료-
혼자 공부하는 자바, 신용권
'Java' 카테고리의 다른 글
char - int 형변환 살펴보기 (0) | 2021.05.18 |
---|---|
객체생성 (Creating Objects) // ref: new 연산자 (0) | 2021.05.05 |
[OOP] 클래스, 객체, 인스턴스 in Java (0) | 2021.05.03 |
상수와 리터럴 (0) | 2021.04.27 |
+연산자로 옅보는 똑똑한 Java (0) | 2021.04.25 |