자바 java static field 초기화
자바 java static field 초기화
■ java class의 핵심 요소로 필드와 메서드가 있는데요. 필드는 데이터를 저장하는 변수이고, 메서드는 필드에 저장된 데이터를 이용한 어떤 행위를 나타내기 위해서 사용하는데요. 이번 글에서는 field의 static의 개념과 초기화에 대해서 알아보겠습니다.
■ static은 하나의 클래스로 만들어진 모든 객체들에서 공통으로 사용할 수 있는 공유 필드임을 표시할 때 사용하는 지정예약어 입니다. 그렇기 때문에 객체이름뿐만 아니라 클래스 이름으로도 접근할 수 있습니다. 그럼 static 필드의 선언 및 초기화를 알아보겠습니다.
public static int num;
static{
초기화;
}
■ 일반적인 멤버는 생성자에서 초기화를 하지만 static 필드는 블록을 따로 지정해서 초기화를 해야 합니다. 이 static 초기화 블럭은 main() 메서드보다도 먼저 실행되는데요. 그 이유는 이 녀석은 공유를 목적으로 하기 때문에 객체가 하나도 없더라도 메모리에는 자리를 잡고 있어야 하기 때문입니다. 그래서 main() 메서드가 실행되기 전에 static 초기화가 먼저 이루어져야 합니다.
초기화 과정은 다음과 같습니다.
class A {
private int a;
private static int b;
static{
b=200; //static {초기화}를 먼저 따로 해줘야 합니다.
}
public static void main(){}
}
물론 필드를 선언함과 동시에 초기화해도 됩니다
.
private static int b=200;
■ 이렇게 해서 java static 필드의 개념과 초기화에 대해서 알아봤습니다. 수고하셨어요.