1. 인스턴스 변수
클래스 영역에 선언되며, 클래스의 인스턴스를 생성할 때 이 변수도 만들어 진다. 인스턴스(객체)가 존재 해야지만 인스턴스 변수도 존재하는 것이다. 객체도 없는데 인스턴스 변수는 존재할 수 없다.
2. 클래스 변수
클래스 변수는 인스턴스 변수 앞에 static 만 붙이면 된다. 선언하는 곳은 클래스 영역이며, 클래스 변수는 모든 인스턴스가 공통된 저장공간을 공유하게 된다. C언어의 전역변수와 비슷하다.
여기서 인스턴스 변수와의 차이점은 한 가지 더있는데 생성되는 위치이다. 인스턴스 변수는 인스턴스를 생성한 후에야 사용가능하지만, 클래스 변수는 인스턴스가 없어도 사용 가능하다. 즉, 클래스가 메모리상에 로딩되면 클래스 변수가 생성되는 것이다.
접근 하는 법은 클래스이름 . 클래스변수로 하면된다.
3. 지역 변수
메서드 내에 선언되어 생성과 소멸이 메서드 내에서 이루어지는 변수이다. 중괄호가 쓰이는 곳, 예를들어 for문, if문 등 블록 내에서 선언된 지역변수는 중괄호를 벗어나게 되면 소멸된다.
이렇듯 지역 변수는 해당하는 블럭을 벗어나면 소멸되어 사용할 수 없게 된다.
<실습>
static이 붙은 클래스 변수에 대해서 실습해보자.
-결과-
LIST
'Programming > Java' 카테고리의 다른 글
Java - 메소드 오버로딩(Method Overloading) (0) | 2015.12.06 |
---|---|
Java - JVM의 메모리구조 (0) | 2015.12.06 |
Java - 객체 지향 언어의 정의, 용어 (0) | 2015.12.06 |
Java - while문, do~while문 (0) | 2015.12.06 |
Java - for문 (0) | 2015.12.06 |