자바 static의 의미와 사용법
1. static의 의미
static은 자바의 키워드로서, 변수나 메서드를 클래스 레벨에 고정시킴을 의미한다. 즉, static으로 선언된 멤버는 해당 클래스의 인스턴스와 무관하게 독립적으로 사용할 수 있다.
2. static 변수
static 변수는 클래스 레벨에서 하나의 변수를 공유하는 용도로 사용된다. 모든 인스턴스가 동일한 값을 공유하며, 인스턴스화되기 전에도 접근 가능하다.
public class Example {
static int count = 0; // static 변수 선언
public Example() {
count++; // 생성자를 통해 count 증가
}
public static void main(String[] args) {
Example ex1 = new Example();
Example ex2 = new Example();
System.out.println(Example.count); // 출력: 2
}
}
3. static 메서드
static 메서드는 클래스 레벨에서 호출이 가능하며, 인스턴스 생성 없이 사용할 수 있다. 주로 유틸리티 메서드나 헬퍼 메서드로 사용된다.
public class MathUtils {
public static int add(int a, int b) {
return a + b;
}
public static void main(String[] args) {
int result = MathUtils.add(2, 3);
System.out.println(result); // 출력: 5
}
}
4. static 블록
static 블록은 클래스 초기화 시 단 한 번 실행되며, 주로 클래스 변수의 초기화에 사용된다.
public class Example {
static int x;
static {
x = 5; // static 초기화 블록을 통해 x에 5 할당
}
public static void main(String[] args) {
System.out.println(Example.x); // 출력: 5
}
}
마무리
static은 클래스 레벨에 멤버를 고정시키는 키워드로, static 변수는 클래스의 인스턴스와 관계없이 하나의 값만을 공유하고, static 메서드는 인스턴스 생성 없이 호출 가능하다. 또한, static 블록은 클래스 초기화 시 단 한 번 실행되는 블록이다.
댓글