-
[JAVA 09] 자바 변수(Variable) ① 유효 범위Language/Java 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 > ┐
123456789101112131415161718192021222324252627class 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); // 클래스 소속이기 때문에 그냥 가져다 사용해도 된다.}}반응형'Language > Java' 카테고리의 다른 글
[JAVA 11] 자바 변수(Variable) ③ static (소속/소유) 유무 (0) 2018.02.04 [JAVA 10] 자바 변수(Variable) ② 메모리 참조 방식 <기본형 / 참조형> (2) 2018.02.04 [JAVA 08] 자바 OOP의 특성 ④ 캡슐화 ( Encapsulation ) (0) 2018.01.28 [JAVA 07] 자바 OOP의 특성 ③ 은닉성 ( Information Hiding ) (2) 2018.01.28 [JAVA 06] 자바 OOP의 특성 ② 다형성 ( Polymorphysm ) (0) 2018.01.28