'static'에 해당되는 글 1건
static 멤버와, static final 멤버 적용 테스트( server : Jeus 5.0)

1. static , static final
Class 에서 사용하는 static final 일명 상수의 변경 적용 범위를 예제를 통해서 알아봅시다.
Test 할 클래스를 하나 생성하겠습니다.
하나는
public class TestLib {
public static final String CONST_TEST1 = "Static Final String TEST1";
public static String CONST_TEST2 = "Static String TEST2";
}
해당 클래스의 변수들을 출력하는 코드를 넣고
Logger.debug("##### Constant Test #####");
Logger.debug("##### Final = " + TestLib.CONST_TEST1 );
Logger.debug("##### Static = " + TestLib.CONST_TEST2 );
실행시키면
##### Constant Test #####
##### Final = Static Final String TEST1
##### Static = Static String TEST2
라고 찍히네요...
그럼 여기서 TestLib 코드를 변경...
public class TestLib {
public static final String CONST_TEST1 = "Static Final String TEST1_Change";
public static String CONST_TEST2 = "Static String TEST2_Change";
}
파일을 서버로 다시 업로드 해서 실행시킨 결과
##### Constant Test #####
##### Final = Static Final String TEST1
##### Static = Static String TEST2_Change
여기서 주목할것은 Static 변수에 해당하는 값이 바껴서 출력된다는것.
그리고 Jeus 서버를 재부팅 하겠습니다.
그리고 같은 코드를 다시 실행 한 결과는
##### Constant Test #####
##### Final = Static Final String TEST1
##### Static = Static String TEST2_Change
동일한 결과가 나옵니다.
즉 static final String은 서버를 재 부팅하더라도 값이 변함없다는 얘기...
여기서 테스트를 위해 작성한 클래스를 재 컴파일 해줍니다.
Logger.debug("##### Constant Test #####");
Logger.debug("##### Final = " + TestLib.CONST_TEST1 );
Logger.debug("##### Static = " + TestLib.CONST_TEST2 );
그리고 나서 실행 하면
##### Constant Test #####
##### Final = Static Final String TEST1_Change
##### Static = Static String TEST2_Change
값이 변경되어서 나오게 됩니다.
즉, static final 일경우는 물고 있는 클래스가 재 컴파일 되어야 변경된 겂이 적용된다는 것입니다.
이올린에 북마크하기
Prev
Rss Feed