변수의 초기화

수동 / 자동 초기화

  • 지역 변수수동으로 초기화 해야합니다.

    • 지역 변수가 동작하는 스택 메모리는 재사용이 빈번하기 때문에 매번 초기화 해주면 성능이 떨어집니다.

    • 그래서 그냥 해당 메모리에 있는 값으로 덮어 씌웁니다.

    • 근데 해당 주소에 어떠한 값이 있는지 모르기 때문에 Java는 개발자에게 수동으로 초기화 하라고 요구합니다.

    • C 언어에서는 이를 garbage value 라 부릅니다.(C언어와 Java의 차이를 비교하면 이해가 쉽습니다.)

  • 멤버변수(인스턴스 변수, 클래스 변수)는 자동으로 초기화 됩니다.

멤버 변수의 초기화

  • 클래스 변수 : 클래스가 처음 로딩될 때 단 한번만 초기화 됩니다.

  • 인스턴스 변수 : 인스턴스가 생성될 때 마다 초기화 됩니다.

초기화 방법

명시적 초기화(=)

class Tv11_1 {
    boolean power = false;    // 기본형 변수의 초기화
    int channel = 1;          // 기본형 변수의 초기화
    Audio audi = new Audio(); // 참조형 변수의 초기화, 참조형은 객체주소 or null 로 초기화!!
    // 참조형의 기본값은 null 입니다!!
    ...
}

초기화 블럭

생성자 초기화

Ref. Java의 정석 기초편 Chapter6(38, 39, 40, 41)

Ref. 변수의 초기화

Last updated