오라클자바커뮤니티에서 설립한 오엔제이프로그래밍 실무교육센터
(오라클SQL, 튜닝, 힌트,자바프레임워크,
안드로이드, 아이폰, 닷넷 실무전문 강의)
클래스가 메모리로 적재된 후 클래스가 사용 되기 전 한번 초기화 된다.
초기화 순서
- 모든 클래스변수는 Default 초기치(0, ‘\u0000’,false, null)로 초기화 된다.
- 클래스변수 초기화수식(Static initializers)과 클래스 초기화 블럭이 실행된다.
예) public static int PI=3.14;
public static int facs[] = new int[10];
static { facs[0]=1;
for(int I=1;I<10;I++) { facs[I] = facs[I-1]*I; }
New 연산자에 의한 작업 순서
- 객체를 위한 메모리 공간 할당
- 모든 인스턴스 변수는 Default 초기치(0, ‘\u0000’,false, null)로 초기화 된다.
- 인스턴스 변수 초기화수식(instance initializers)과 초기화 블럭이 실행된다.
- 생성자의 첫문장에서 다른 생성자를 호출하는 경우엔 이를 먼저 처리(서브클래스인 경우 명시적인 상위클래스 생성자에 대한 호출이 없으면 super()를 삽입하고 이를 실행한다.)
- 생성자의 나머지 부분을 실행한다.
댓글 없음:
댓글 쓰기