remind Java. 클래스 초기화 블럭


remind Java. 클래스 초기화 블럭

클래스 생성자를 통해 멤버변수 초기화가 가능하기에 초기화 블럭은 사용할 일이 별로 없어서 까먹기 쉽습니다. 그러나 static 멤버변수 초기화 와 같이 클래스 생성자로 할수 없는 일들을 할 수 있으므로 초기화 블럭에 대해 자세히 알아보겠습니다. 초기화 블럭은 크게 클래스 초기화 블럭과 인스턴스 초기화 블럭으로 나뉩니다. 이름에서 알 수 있듯이 클래스 초기화 블럭은 프로그램이 시작되어 클래스를 메모리에 로딩할때 단 한번만 실행되며, 인스턴스 초기화 블럭은 인스턴스가 만들어질때마다 실행됩니다. 아래 클래스 초기화 블럭에서는 classId 라는 static 멤버변수를 초기화 하는데 사용되었습니다. 멤버변수 초기화는 String classId = "xxx"; 처럼 멤버변수 선언부에 값을 바로 넣어도 가능합니다. 그런데 아래 예시처럼 어떤 값을 읽어온 후 그 값에 따라 초기화 값이 달라지는 경우가 있습니다. 이 때는 클래스 초기화 블럭 외에는 방법이 없습니다. 초기화 블럭은 {} 와 같이 블...


#java #remind #초기화블럭

원문링크 : remind Java. 클래스 초기화 블럭