JAVA 22강_초기화 블록(initialization Block)

YEONG EUN LEE (Chloe)·2024년 1월 3일

JAVA 기초

목록 보기
28/42

초기화 블록(initialization Block) :

필드(=속성 =멤버 =인스턴스 = Attribute =Property =컬럼 =column)의 값을 초기화시키는 기능을 가지고 있는 블록

인스턴스 필드 블록 형식 : {필드의 초기화 명령문; (static 필드, 인스턴스 필드)}
클래스 필드 블록 형식 : static{필드의 초기화 명령문; (static 필드)}

초기화 순서:
필드의 자동초기화값 -> 필드선언 시 초기값 바로 대입하는 경우( 명시적 초기화) -> 인스턴스 필드 블록 초기화값 ->
클래스 필드(static 필드) 블록의 초기화값 -> 생성자에게 초기화한 값 ->
setter 메소드로 초기화한 값(setter 메소드는 자동실행 안됨. 실행하려면 반드시 호출해야 함)

  • 멤버필드를 초기화할 수 있는 방법
  • 초기화 블럭 사용
  • 생성자 사용
  • setter 메소드 사용
  • 명시적 초기화(선언과 동시에 값 대입을 하는 방법)
class Ex{
int a = 1;
} // 명시적 초기화

필드(=멤버=속성=Attribute =property =컬럼 =인스턴스 또는 클래스) 상수 예외 사항:
반드시 선언과 동시에 초기값 설정을 해주어야 하나, 생성자와 초기화블록 중 딱 한번은 초기값 설정을 할 수 있다.

class Ex{
final int MAX;
// 인스턴스 초기화 블록
}

{
   MAX = 55;
}


// 생성자
Ex(){
	MAX = 10;
}

class Ex{
static int a = 10; //(1번)
{a = 20;} //(2번)

static{a = 55;} //(3번)

Ex(){
	a = 77; //(4번)
	}

}

0개의 댓글