📝Static 전역(전체영역)변수 사용하기
클래스의 멤버 변수를 만들때 앞에 static를 입력해주면 해당 변수는 전역변수가 된다
전역변수(Static)는 Heap영역이 아닌 data 영역이라는 메모리에 생긴다
public class StaticVar {
// static 전역변수 > 공유
static int count = 1;
// 멤버 변수 > 자기 자신만의 데이터
int data = 0;
void print() {
System.out.println("cont : " + count);
System.out.println("data : " + data);
}
}
메인에 객체를 생성해보겠다
public class StaticMain {
public static void main(String[] args) {
StaticVar sv1 = new StaticVar();
sv1.print();
StaticVar sv2 = new StaticVar();
sv2.print();
// static변수는 클래스 이름을 쓰고 억세스한다
// 이 메모리는 Heap영역이 아닌 데이터 영역이라는 메모리에 생긴다
StaticVar.count = 3;
// 결과는 공유되어 두 변수 모두 count는 3이 찍힌다
sv1.print();
sv2.print();
sv1.data = 10;
sv2.data = 500;
// 마찬가지로 data 변수는 각 지정한 숫자로 입력되었지만 count는 3이다
sv1.print();
sv2.print();
}
}
'Java' 카테고리의 다른 글
[Java] Constructor(생성자) 사용하기 (0) | 2023.01.19 |
---|---|
[Java] 메소드 오버로딩하기(Method Overloading) (0) | 2023.01.18 |
[Java] 클래스와 객체 (0) | 2023.01.18 |
[Java] 함수(메소드) 정의해서 사용하기 (0) | 2023.01.18 |
[Java] 배열(Array) 다루기 (0) | 2023.01.18 |
댓글