static 변수
class AAA{
static int num=0;
public AAA(){
num++;
}
}
class MainClass{
public static void main(String[] args){
AAA a1 = new AAA();
AAA a2 = new AAA();
AAA a3 = new AAA();
}
}
|
- 메모리 공간에 하나만 존재
: 인스턴스간의 데이터 공유가 필요한 경우
* 접근 방법
1) 인스턴스의 이름으로
2) 해당 클래스의 이름으로
... 1) 의 경우 인스턴스 변수 접근 방법과 구분 되지 않기 때문에 2)로 접근
* 초기화
: JVM에 의해 클래스가 메모리 공간에 올라가는 순간
(java 는 필요한 만큼만 메모리 공간에 올려 사용!!)
static 메소드
- 클래스의 모든 인스턴스가 호출 가능- 인스턴스를 생성하지 않아도 호출 가능
- 인스턴스 변수에 접근 불가 ... 해당 클래스의 인스턴스가 모두 공유하는 메소드 이기 때문
* 언제 사용?
: 인스턴스 변수를 이용하지 않아도 되는 일인 경우, 기능만 제공하는 경우!
댓글 없음 :
댓글 쓰기