wasup
java 지역변수(블록'안'과 '밖') 본문
반응형
package testPackage;
public class LocalVar {
int memVar; //memVar = 맴버변수 = 전역변수
void localTest() { //메서드
int a = 10, c; //지역변수
{
int b = 20; //지역변수
System.out.println("블록 안");
System.out.println("a = " + a + ", b = " + b);
}
//System.out.println("a = "+ a +", b = "+b);//에러발생, b는 위 블록 안에서만 사용
int b = 30; //지역변수
System.out.println("블록 밖");
System.out.println("a = "+a+", b = "+b);
//System.out.println("a = "+a+", b = "+b+", c = "+c); //c를 초기화하지 않았기때문에 garbage collection들어감.
//memBar->숫자형 맴버변수는 0으로 자동초기화.
System.out.println("값 할당 전의 memVar = "+memVar);
memVar = 100;
System.out.println("값 할당 후의 memVar = "+memVar);
}
void printVar() { //메서드
System.out.println("memVar ="+memVar);
//System.out.println("a = "+a+", b = "+b);//에러발생
}
}
package testPackage;
public class LocalVarMain {
public static void main(String[] args) {
LocalVar lv = new LocalVar(); //lv = 객체
lv.localTest();
//System.out.println("a ="+a+", b = "+b);//에러발생, 지역이 다름.
lv.printVar(); //100
lv.memVar = 500;
lv.printVar(); //500
}
}
//출력결과
블록 안
a = 10, b = 20
블록 밖
a = 10, b = 30
값 할당 전의 memVar = 0
값 할당 후의 memVar = 100
memVar =100
memVar =500
반응형
'IT > Java' 카테고리의 다른 글
java static memory(정적메모리)2 (0) | 2020.11.21 |
---|---|
java static memory(정적메모리) (0) | 2020.11.20 |
java 재귀 (0) | 2020.11.18 |
java max, sum, avg구하기 (0) | 2020.11.17 |
java 메서드(클래스 안에 정의된 함수)의 종료 (0) | 2020.11.16 |
Comments