초기화 블록
꽁스짱
JAVA
0
1216
2021.02.16 00:47
정적 초기화 블록
- static 명시, 클래스가 로드될때 한번 초기화, 클래스변수(필드)의 초기화
비정적 초기화 블록
- new 할때마다 초기화, 인스턴스변수(필드) 초기화
class initialTest {
static int[] randomValue = new int[10];
static { //정적 초기화 블록
System.out.println("정적 초기화 블록 실행됨...");
for(int i=0;i<randomValue.length;i++) {
randomValue[i] = (int)(100*Math.random());
}
}
void list() {
System.out.println("");
for(int i=0;i<randomValue.length;i++) {
System.out.print(randomValue[i]+" ");
}
System.out.println("");
}
public static void main(String[] args) {
initialTest init = new initialTest(); initialTest init2 = new initialTest();
init.list(); init2.list();
}}
비전적초기화인경우엔
앞의 예제에서 정적 초기화 블록의 static 구문을 삭제
선언부의 randomValue에서 static 삭제…