CODEDRAGON ㆍDevelopment/Java
초기화 블록 종류
· 인스턴스 초기화 블록
· 클래스 초기화 블록
인스턴스 초기화 블록
· 인스턴스 초기화 블록은 단순히 중괄호({})만을 사용하여 정의할 수 있습니다.
· 인스턴스 초기화 블록은 생성자와 마찬가지로 인스턴스가 생성될 때마다 실행됩니다.
· 하지만 인스턴스 초기화 블록이 생성자보다 먼저 실행됩니다.
· 생성자와 인스턴스 초기화 블록의 차이는 거의 없으므로 인스턴스 초기화 블록은 잘 사용되지 않습니다.
· 여러 개의 생성자가 있으면 모든 생성자에서 공통으로 수행되어야 할 코드를 인스턴스 초기화 블록에 포함하여 코드의 중복을 막을 수 있습니다.
class MyClass { // 인스턴스 변수 선언 int instanceVar;
{ // 인스턴스 초기화 블록 this.instanceVar = 10; }
// 생성자 MyClass(){
} } |
클래스 초기화 블록
· 클래스 초기화 블록은 인스턴스 초기화 블록에 static 키워드를 추가하여 정의할 수 있습니다.
· 이러한 클래스 초기화 블록은 클래스가 처음으로 메모리에 로딩될 때 단 한 번만 실행됩니다.
· 클래스 초기화 블록은 생성자나 인스턴스 초기화 블록으로는 수행할 수 없는 클래스 변수의 초기화를 수행할 때 사용됩니다.
static { // 클래스 초기화 블록을 이용한 초기화 초기화 문장; } |
static { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } |
'Development > Java' 카테고리의 다른 글
ThreadGroup(스레드 그룹) (0) | 2020.01.20 |
---|---|
과적합 검증 (0) | 2020.01.13 |
CSV -> arff 파일 변환하기 (0) | 2019.12.30 |
Weka - Attribute data type (0) | 2019.12.24 |
ERROR-Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. 해결방법 (0) | 2019.12.19 |