클래스변수와 객체변수는 왜 자동으로 초기화될까?

최대 1 분 소요

지역변수는 개발자가 별도로 초기화 하지 않으면 쓰레기 값을 갖게 되는데 반해 클래스변수와 객체변수는 왜 자동으로 초기화해주는지 알아보자.

공유하는 변수이다.

클래스변수와 객체변수의 경우 공유하는 변수이다. 즉, 객체변수는 하나의 객체 안에서 다수의 객체 메서드가 공유하는 변수이고, 클래스 변수는 전역변수로서 프로그램 어디서든지 접근 가능한 공유하는 변수이다.

  1. 정수형 : 0
  2. 부동소수점 : 0.0
  3. 논리형 : false
  4. 객체 : null

Note: 객체멤버인 경우 생성자를 통해, 정적멤버인 경우 정적 실행영역에서 초기화하는 경우가 있긴 하지만 공유변수의 경우 별도로 초기화를 해 주지 않아도 기본값으로 초기화 된다.

공유하지 않는 변수이다.

지역변수의 경우 한 지역에서만 사용되고 소멸되는 변수이기 때문에 그 지역에서 초기화하는 것이 논리적으로 맞다. 그로므로 지역변수의 경우 별도로 초기화를 해줘야 한다.

태그:

카테고리:

업데이트:

댓글남기기