Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java 빈(final 미초기화) 변수, 어디서 초기화할 수 있을까?

결론: 네, 가능합니다!

Java에서 빈(final) 변수, 즉 선언 시점에 값을 할당하지 않은 final 변수는 생성자(constructor) 또는 인스턴스 초기화 블록(instance initialization block)에서 반드시 한 번 초기화할 수 있습니다.

빈 final 변수란?

final 키워드가 붙었지만 선언과 동시에 값이 할당되지 않은 변수를 '빈(final)' 변수라고 합니다. 이 변수는 한 번만 초기화될 수 있으며, 초기화 이후에는 값을 변경할 수 없습니다.

예제 코드

다음은 생성자와 인스턴스 초기화 블록을 활용한 예시입니다.

class Example {
  final int value; // 빈 final 변수

  // 생성자에서 초기화
  Example() {
    value = 10;
  }
}

class Example2 {
  final int value;

  // 인스턴스 초기화 블록에서 초기화
  {
    value = 20;
  }
}

주의할 점

  • 정적(static) 빈 final 변수는 생성자나 인스턴스 초기화 블록이 아닌, static 초기화 블록에서 초기화해야 합니다.
  • 빈 final 변수는 모든 생성자 경로에서 정확히 한 번 초기화되어야 하며, 그렇지 않으면 컴파일 오류가 발생합니다.