변수는 클래스변수
, 인스턴스변수
, 지역변수
세가지가 있다.
이것들은 멤버변수
와 지역변수
로 구분할 수 있다. 변수가 선언된 위치에 따라 결정된다.
멤버변수
중 static이 붙은 것은 클래스변수
, 붙지 않은 것은 인스턴스변수
이다.
class Variables{
int iv;
static int cv;
void method(){
int lv = 0;
}
}
iv와 cv는 클래스 영역에 선언되어 있으므로 멤버변수이고, iv는 static이 붙지 않았으니 인스턴스변수
, cv는 static이 붙어 있으므로 클래스변수
이다.
lv는 메서드영역에 선언되어 있으므로 지역변수
이다.
인스턴스변수
값을 읽어오거나 저장하기 위해서는 먼저 인스턴스를 생성해야한다.인스턴스변수
로 선언한다.인스턴스변수
앞에 static을 붙이면 클래스변수
가 된다.