본문 바로가기
Backend/Java

지역변수(local variable)

by 마진 2021. 4. 28.

<참고>

* 기본적으로 변수는 기본형 변수와 참조형 변수로 분류될 수 있습니다.

 

변수
(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문이 끝나고 나서도 사용할 수 있습니다. 

 

 

 

 

 

-참고자료-

혼자 공부하는 자바, 신용권