java -- initialization block ( 초기화 블록 )
참고 : https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html
http://stackoverflow.com/questions/12550135/static-block-vs-initializer-block-in-java
https://www.youtube.com/playlist?list=PLmCsXDGbJHdhaAC8UP3kbG1ZQM1duQGDN ==> 동영상
** 위의 Youtube 동영상 강좌 먼저 보기 !!!!
멤버변수 ( field ) 초기화의 예
private int a = 3
그러나 이경우에는 초기화시에 에러 핸들링이나, for loop 를 이용한 배열 초기화 같은 복잡한 것은 못한다.
==> 해결책 :
1) 인스턴스 변수의 경우 ( 3가지 방법 )
- 생성자에서 복잡한 초기화 가능
- 또는 initializer block 사용.
- 또는 final method 사용.
2) 클래스 변수의 경우
- static initialization block 사용
** 인스턴스 초기화 블럭 ( instance initializer block )
- 객체 생성할때마다 호출됨.
- super 생성자 이후에 실행됨.
- 생성자 보다 먼저 실행됨.
- 모든 생성자의 공통 코드를 instance initializer block 에 넣으면 코드 줄일수 있다.
** 클래스 초기화 블럭 ( static initializer block )
- class 로딩시에 호출된다.
- 인스턴스 변수나 인스턴스 메소드에 접근 못함.
<< 예제 >>
-- 실행 결과
<< 아래와 같이 코드를 변경한 경우에는 >>
--- 실행 결과
'java, jsp' 카테고리의 다른 글
java -- try-with-resources statement (0) | 2016.01.27 |
---|---|
java -- jdbc ; Statement, PreparedStatement, CallableStatement (0) | 2016.01.27 |
jsp -- Mac 에서 eclipse, tomcat 8 설치후 jsp 처음 시작하기 (0) | 2016.01.20 |
java -- POJO 개념 정리 (0) | 2015.12.30 |
java -- JavaBeans 개념 정리 (0) | 2015.12.25 |