iv
, cv
lv
class Variable {
int iv; // 인스턴스 변수
static int cv; // 클래스 변수 (static변수, 공유변수)
// 클래스 영역
void method() {
int lv; // 지역 변수
// 메서드 영역
}
}
변수의 종류 | 선언위치 | 생성시기 |
---|---|---|
클래스변수(class variable) | 클래스영역 | 클래스가 메모리에 올라갈 때 |
인스턴스변수(instance variable) | 클래스영역 | 인스턴스가 생성되었을 때 |
지역변수(local variable) | 클래스 영역 이외의 영역(메서드 생성자, 초기화 블럭 내부) | 변수 선언문이 수행되었을 때 |
자동으로 올라간다.
아무때나 사용 가능.
cpu
ssd, hdd 안에 파일명.class
이 저장되어있다. -> 설계도
cpu가 훨씬 빠르기 때문에 class 파일을 직접 읽을 수 없다.
RAM(메모리)에 올려야 cpu가 읽을 수 있다.
class 파일(설계도)을 RAM에 세이브 -> cpu
cpu는 RAM이랑만 작업한다.