static
: 공통으로 사용하겠다고 명시하는 지정자.
클래스가 생성될 때 만들어 지고, 클래스의 소속이 된다.
그래서 모든 인스턴스에서 동일한 값을 갖게 된다.
static 변수는 DATA 메모리 영역에 저장되어 공유할 수 있다.
만들어진 데이터는 더 만들지 않는다.
static변수를 사용할 때는, 인스턴스가 아닌 클래스명을 넣어준다.
예) StaticVar.count = 10; (O) / sv1.count = 10; (X)
StaticVar 클래스(만드는 클래스)
public class StaticVar {
static int count = 1;
int data;
void print() {
System.out.println("count :" + count);
System.out.println("data :" + data);
}
}
StaticMain 클래스 (사용하는 클래스)
public class StaticMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
StaticVar sv1 = new StaticVar();
StaticVar sv2 = new StaticVar();
sv1.print();
System.out.println();
sv2.print();
System.out.println();
System.out.println();
StaticVar.count = 10;
sv1.print();
sv2.print();
}
}
실행 결과
'Software Development > Java' 카테고리의 다른 글
[Java] 생성자 오버로딩(Constructor Overloading) (0) | 2024.05.31 |
---|---|
[Java] 패키지(Package) 만들기, this로 사용하는 멤버 변수 (0) | 2024.05.31 |
[Java] 생성자(Constructor)란? (0) | 2024.05.31 |
[Java] 함수(Function) / 메소드(Method), 호출하기, void 타입 (0) | 2024.05.31 |
[Java] 배열(Array) - 여러개의 데이터 처리, 배열 선언과 생성, 배열에 값 넣기, 값 access하기, 배열 길이(.length) (0) | 2024.05.31 |