충분히 쌓여가는
6.9 인스턴스 멤버 - 정적 블록 {} 본문
정적 필드는 필드 선언과 동시에 초기값을 주는 것이 일반적
static double pi = 3.14159;
하지만 복잡한 초기화 작업이 필요하다면 정적 블록(static block)를 이용해야 한다
static {
...
}
정적 블록은 클래스가 메모리로 로딩될 때 자동으로 실행된다
정적 블록이 클래스 내부에 여러 개가 선언되어 있을 경우 선언된 순서대로 실행된다
정적 필드는 객체 생성 없이도 사용할 수 있기 때문에 생성자에서 초기화 작업을 실행하지 않는다(생성자는 객체 생성 후 실행되기 때문)
company와 model은 선언 시 초기값을 줌
info는 정적 블록에서 company와 model을 연결하여 초기값을 줌
package ch06.sec10.exam02;
public class Television {
static String company = "MyCompany";
static String model = "LCD";
static String info;
static {
info = company + model;
}
}
package ch06.sec10.exam02;
public class TelevisionExample {
public static void main(String[] args) {
System.out.println(Television.company);
System.out.println(Television.model);
System.out.println(Television.info);
}
}
MyCompany
LCD
MyCompanyLCD
'이것이 자바다 > 06 클래스' 카테고리의 다른 글
6.13 접근 제한자 - 생성자/필드/메소드의 접근 제한 (0) | 2024.04.01 |
---|---|
6.9 인스턴스 멤버 - 인스턴스 멤버 사용 불가 (0) | 2024.04.01 |
6.9 인스턴스 멤버 - 정적 멤버 (0) | 2024.04.01 |
6.9 인스턴스 멤버 - this (0) | 2024.04.01 |
6.7 생성자 선언과 호출 - 가변길이 매개변수 (0) | 2024.04.01 |