본문 바로가기
Java

[Java] Static 전역(전체영역)변수 사용하기

by coding_su 2023. 1. 18.

📝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();
	}

}

댓글