Language/Java
[JAVA 09] 자바 변수(Variable) ① 유효 범위
reifier.tistory.com 으로 이전하였습니다.
2018. 2. 4. 18:34
반응형
■ 변수 ( Variable )
1. 유효 범위
<1> 멤버변수
- 클래스 전역에서 유효하다.
- 초기화를 JVM이 해준다.
- 종류
└ 클래스 소속
└ 객체 소속
<2> 지역변수
- 해당 메소드나 생성자에만 유효하다.
- 초기화를 개발자가 해줘야 한다.
- 종류
└ 선언 초기화 변수
└ 파라미터 변수
<잘못된 예1> ┐
[ error : variable k migth not have been initialized ]
[ 에러 : 변수 k 는 초기내용이 설정되지 않았을 것입니다. ]
즉 지역 변수는 개발자가 직접 초기화를 해주어야 합니다.
<잘못된 예2> ┐
[ error : cannot find symbol ]
[ 에러 : 심볼을 찾을수 없습니다. ]
즉 지역변수는 그 지역내에서만 영향력이 미칩니다.
< 잘된 예1 > ┐
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 | class VS1{ //Variabe Study1 유효범위에서의 변수 int i = 1; // └ (객체소속)멤버변수 , JVM이 초기화를 해줌 static int j; // └ (클래스소속)멤버변수 , JVM이 초기화를 해줌 VS1(){ System.out.println("VS1() i : " + i + ", j : " + j); int k = 2; // 지역변수 , 해당 생성자나 메소드에서만 유효하다. // 초기화를 개발자가 해주어야 한다. System.out.println("VS1() k : " + k); } void method(int a){ // (파라미터) 변수 int k = 3; System.out.println("method() k : " + k); System.out.println("method(a) : " + a); } public static void main(String[] args) { VS1 vs1 = new VS1(); // 지역변수 , 선언초기화 변수 vs1.method(10); // 파라미터 변수를 초기값을 개발자가 직접 해주어야 한다. System.out.println("main() i : " + vs1.i); // 객체 소속이기 때문에 선언을 해주고 사용해야 한다. System.out.println("main() j : " + j); // 클래스 소속이기 때문에 그냥 가져다 사용해도 된다. } } |
반응형