profile image

L o a d i n g . . .

class Static{
    public int a = 20;
    static int b = 0;   
}
 
public class Test{
    public static void main(String[] args) {
        int  a = 10;
        Static.b = a;
        Static st = new Static();

        System.out.println(Static.b++);
        System.out.println(st.b);
        System.out.println(a);
        System.out.print(st.a);
    }
}

 
키워드: static 변수, 후위연산자
static 변수는 static메모리에 별도 저장되기 때문에 일반적인 인스턴스 변수와는 다르게 프로그램 내 모든 객체와 공유된다.
후위연산자는 리턴 후 연산을 한다.
 
 
 


 

10
11
10
20

 
Static.b++의 경우 후위연산자 이기 때문에 리턴 후 연산. 따라서 값은 10
Static클래스의 객체 st를 통해 b값을 출력하는 st.b는 st가 선언되었을때의 Static.b와는 상관없이 바로 위 Static.b++ 연산까지 적용된 11이 출력된다.

반응형

'개발 > Certification' 카테고리의 다른 글

[AJAX] AJAX의 의미  (0) 2024.01.16
복사했습니다!