자바 변수 선언

장원재·2024년 11월 27일
0

java

목록 보기
12/19

자바에서 변수를 선언할 때 아래와 같은 에러 메시지를 본 경험이 여러번 있다.

java: variable a might not have been initialized

그때마다 아 변수 초기화 안해줬구나 하고 넘어갔지만, 근본적으로 왜 선언해놓고 초기화를 강제적으로 해줘야지 라는 의문에 대한 답변이 힘들었다. 오늘은 이를 다루고자 한다.

public class Var2 {
    public static void main(String[] args) {
        int a;
        System.out.println("a = " + a); //error 발생
    }
}
  • a라는 변수를 선언해서 메모리의 공간은 확보하였지만, 초기화를 해주지 못해서 에러가 발생하였다.
  • 메모리 라는 공간은 다른 시스템과 함께 사용하는 공간이다. 따라서 a 라는 변수가 메모리 공간을 확보한 시점에 그 메모리 공간에 어떠한 값들이 있는지 알 수 없다. 즉, a 를 초기화 하지 않고 사용할 시에 완전 엉뚱한 값을 참조해올 수 있다는 것이다.
  • 따라서 자바에서는 변수의 초기화를 강제하고 있다. (클래스, 인스턴스 변수 제외)
profile
데이터 분석에 관심있는 백앤드 개발자 지망생입니다

0개의 댓글

관련 채용 정보