개발학습일지

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

Java

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

처카푸 2024. 6. 3. 11:48

Static 전역(전체영역) 변수 사용하기 _ 변수에 디폴트 값 설정하기

 

클래스의 멤버 변수를 만들 때 앞에 static을 입력해 주면 해당 변수는 전역 변수가 된다.

전역변수(static)는

: 메모리에 Heap의 영역이 아닌 data 영역에 변수로 생성된다.

: data영역의 변수이기 때문에 전역변수는 객체가 따로 없어도 사용할 수 있다.

public class StaticVar {
	
	static int count = 1;
	int data = 0;
	
	void print() {
		System.out.println("count : " + count);
		System.out.println("data : " + data);
	}

}

 

위에 작성한 코드의 변수와 함수를 Main 클래스에서 사용할 때,

static을 쓰지 않은 변수는 값을 아무 곳에서나 변경할 수 없다.

static을 써준 count 변수만 오류가 나지 않는 것을 확인할 수 있다.

 

변수에 디폴트 값 설정하기

: 변수를 생성할 때 아무 값도 작성하지 않으면 초기화 값인  0으로 지정되어 있다. ( 이 이유로, 0은 써도 되고 안 써도 된다.)

: 디폴트 값을 지정해 주고 싶다면 변수를 지정할 때 옆에 값을 작성하면 된다.

 

전역 변수는 

상수와 같이 쓰이는 경우가 많다!!

예) 전역변수와 상수가 같이 쓰이는 예시 코드이다.

package model;

public interface Card {
	
	// 상수( Constant : 한번 데이터를 저장하면, 그 다음부터는 사용만 한다.
	// 한번 저장하면, 다른곳에서 데이터 값 바꾸면 안되는 것들! = config.py 데이터들)와
	// 이 클래스를 상속받아서 구현해야 할 메소드만 넣을 것이다.
	
	public static final int CLOVER = 1;
	public static final int HEART = 2;
	public static final int DIAMOND = 3;
	public static final int APADE = 4;
	
	public static final String NAME = "Poker";
	
	public String getCardNumber();
	public void print();


}