인스턴스 변수: 클래스 바로 안쪽에 위치하며, 인스턴스가 생성되었을 때 실제 메모리가 할당된다.
클래스 변수: (=static 변수). 인스턴스 변수에 static을 붙이면 클래스 변수가 된다. 클래스 바로 안쪽에 위치하며, 해당 크래스로 만들어진 모든 인스턴스가 공유하게 되는 변수이다. 클래스이름.클래스변수와 같이 인스턴스를 생성하지 않고도 사용할 수 있다. 프로그램이 종료될 때 사라지며, 앞에 public을 붙이면 전역 변수와 같아진다.
인스턴스 변수와 클래스 변수를 멤버 변수라고 한다.
지역 변수: 클래스->메서드 내에 선언됨. 블럭을 벗어나면 소멸함.
class Variables
{
int n; # 인스턴스 변수
static int m; # 클래스 변수 (Variables.m으로 바로 사용 가능)
void method()
{
int k = 0; # 지역 변수
}
}