클래스 영역에서는 선언문만 가능
{
int iv; //인스턴스 변수
static int cv; //클래스 변수(static 변수, 공유변수)
void method(){
int lv = 0; //지역변수
}
}
클래스 변수 - 클래스가 메모리에 올라갈 때 생성(.class 파일이 올라갈 때), 객체 생성이 필요 없으므로 아무때나 사용 가능
인스턴스 변수 - 인스턴스가 생성될 때 생성, 객체 생성이 필요하며 객체가 있어야 사용 가능
지역변수 - 변수 선언문이 수행되었을 때 생성, 메서드 종료시 자동 제거
객체는 인스턴스 변수를 묶은 것, 참조변수가 사라지면 가비지 컬렉터에 의해 인스턴스 변수도 사라진다.
클래스 변수 - 공통 속성
인스턴스 변수 - 개별 속성
class Card{
String kind; //무늬
int number; //숫자
static int width = 100;
static int height = 250;
}
Card c = new Card();
c.kind = "HEART";
c.number = 5;
//c.width = 200;
Card.width = 200; //클래스 변수는 이렇게 사용
초기화 방법
초기화 시점
초기화 순서