개발자/JAVA복습(김영한)

[김영한강의] 자바 복습 1. 변수 초기화

푸루닉 2023. 12. 7. 10:20

실무를 경험하면서 가장 많이 느꼈던 것은 모래위에 성을 쌓는다는 느낌을 받았다.

 

김영한님의 강의를 통해 자바를 복습하면서 내가 자세히 알지 못하고 사용했던 것에 대해 정리하고자 한다.

 

1. 변수 초기화의 개념

자바의 변수 초기화란 아무것도 없는 값에 값을 넣는 행위를 뜻한다.

package variable;

public class Var5 {
    public static void main(String[] args) {
        // 1. 변수 선언, 초기화(아무것도 없는 값에 값을 넣는행위) 각각 따로
        int a;
        a = 1;
        System.out.println(a);

        int b = 2;  // 2. 변수 선언과 초기화를 한번에
        System.out.println(b);

        int c = 3, d = 4;   // 3. 여러 변수 선언과 초기화를 한번에
        System.out.println(c);
        System.out.println(d);
    }
}

변수를 선언하는 것과 초기화를 하는 것은 구분되는 행위다 만약 초기화를 하지 않는 다면

 

package variable;

public class Var6 {
    public static void main(String[] args) {
        int a;
        System.out.println(a);
    }
}


// java: variable a might not have been initialized

해당 오류가 발생하게 된다.

 

변수를 선언하면 메모리상의 어떤 공간을 차지하고 사용한다. 그런데 그 공간에 기존에 값이 있었는지는 아무도 모른다. 따라서, 초기화를 하지 않으면 이상한 값이 출력될 수 있다. 이런 문제를 예방하기 위해 자바는 변수를 초기화 하도록 강제하게 된다.

 

추후에 클래스 변수와 인스턴스 변수는 자바가 자동으로 초기화 해줄 것이다. 하지만, 지역 변수는 개발자가 직접 초기화를 해주어야 한다.

 

++ 컴파일 에러가 발생한 것은 꼭 주석처리를 해줘야 한다. 자바는 전체를 실행하기 때문이다.