Java 기초 함수 - 지역 변수
728x90
기본 환경
JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 |
목표
지역변수에 대해 이해한다.
코드
package ex05method;
/*
Local variable(지역변수)
- 변수는 사용범위(Scope)를 가지고 있고, 해당 지역내에서만
사용가능하다.
-해당 지역을 벗아나면 즉시 메모리에서 소멸된다.
-기본 자료형은 스택(stack)라는 메모리 공간을 사용한다.
-stack은 CPU가 메모리의 생성 및 소멸을 주관한다.
*/
public class E06LocalVariable {
public static void main(String[] args) {
boolean scope = true;
/*
main 지역에서 num을 선언하면 그보다 작은 if문의 지역에서는
같은 이름의 변수를 선언할수 없다.
큰 지역에서 이미 선언하여 메모리상에 상주하고 있기 때문이다.
*/
// int num = 9;
if(scope) {
int num = 1;
num ++;
System.out.println("첫번째 if문 지역 : " + num);
}
else {
int num = 10;
System.out.println("첫번째 if문의 else 지역 : " + num);
}
/*
if문의 블럭에서 선언된 변수 num은 해당 블럭을 벗어나면
메모리에서 소멸된다. 따라서 아래에서 num을 선어할 수 있다.
*/
int num = 100;
System.out.println("main메소드지역 : " + num);
simpleFunc();//메소드 호출
System.out.println("main메소드 끝");
}
/*
main에서 선언한 변수 num이 메모리에 아직 남아있지만, simpleFunc()
메소드는 서로 다른 지역에 정의되어 있으므로 같은 이름의 변수를 선언할 수 있다.
*/
static void simpleFunc() {
int num = 10000;
System.out.println("simple메소드지역 : " + num);
}
}
지역변수을 이해하기 위한 코드입니다. 블럭 안에서 선언한 변수는 그 블럭이 끝나면 소멸됩니다. 그것을 지역변수라고 합니다. 큰 블럭에서 선언한 변수는 작은지역에서 같은 이름으로 재선언 할 수 없고 작은 블럭에서 사용할 수 있습니다. 개발하다 보면 생각보다 헷갈리는 일이 많이 있습니다. 잘 알아두도록 합시다.
결과 값
'Java > Java_기초부터 _끝까지' 카테고리의 다른 글
Java 기초 함수 - 재귀함수 (0) | 2020.10.19 |
---|---|
Java 기초 함수 - 오버라이딩 (0) | 2020.10.19 |
Java 기초 함수 - 함수 타입(매개변수 있고 리턴 값 있는 함수2) (0) | 2020.10.15 |
Java 기초 함수 - 함수 타입(매개변수 있고 리턴 값 있는 함수) (0) | 2020.10.15 |
Java 기초 함수 - 함수 타입(매개변수 있고 리턴 값 없는 함수2) (0) | 2020.10.15 |