본문 바로가기
카테고리 없음

자바 static의 의미와 사용법

by kangs' tong 2023. 10. 26.

자바 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 블록은 클래스 초기화 시 단 한 번 실행되는 블록이다.

댓글