static 변수는 하나의 값만을 가진다.


static 변수를 가진 class 의 인스턴스를 새로 생성 하여도 static의 값들은 한 곳의 메모리만 바라보게 된다.


샘플

public class TestStaticInt {
    public static int i = 0;

    public static void main(String[] args) {
        TestStaticInt t1 = new TestStaticInt();
        t1.i = 1;
        TestStaticInt t2 = new TestStaticInt();
        t2.i = 2;
        TestStaticInt t3 = new TestStaticInt();
        t3.i = 3;
        TestStaticInt.i = 4;

        System.out.println(t1.i);
        System.out.println(t2.i);
        System.out.println(t3.i);

        TestStaticString ts1 = new TestStaticString();
        ts1.s = "ts1";
        TestStaticString ts2 = new TestStaticString();
        ts2.s = "ts2";
        TestStaticString ts3 = new TestStaticString();
        ts3.s = "ts3";
        TestStaticString.s = "TestStaticString";

        System.out.println(ts1.s);
        System.out.println(ts2.s);
        System.out.println(ts3.s);
    }
}

class TestStaticString {
    public static String s = "";
}


결과

4

4

4

TestStaticString

TestStaticString

TestStaticString



Posted by lahuman

댓글을 달아 주세요