[JAVA] 변수의 초기화

JUNSEUNG LEE·2022년 10월 7일
0

JAVA

목록 보기
8/17
post-thumbnail

1. 변수의 초기화

  • 지역변수는 사용전 수동 초기화 해야 함
    - 지역변수는 메서드 호출 작업 동안만 존재하여 계속 0으로 초기화 하면 성능이 떨어짐
  • 인스턴스 변수, 클래스 변수는 자동 초기화됨
    - 객체에 여러 변수가 있는데 모두 수동 초기화하기에는 너무 많아 자동초기화 해줌 ex) VO
  • 타입별 자동초기화 값
타입기본값
booleanfalse
char'\u0000'
byte, short, int0
long0L
float0.0f
double0.0d 또는 0.0
참조형 변수null
  • 자동, 간단(명시적), 복잡 초기화가 있음

2. 명시적 초기화(explicit initialization)

  • 대입연산자를 이용한 초기화
class Junseung {
	int age = 28; // 기본형 변수 초기화
	Career c = new Career(); // 참조형 변수 초기화
}

3. 초기화 블럭(initialization block)

  • 인스턴스 초기화 블럭 : {}, 인스턴스 변수의 초기화에 사용
  • 클래스 초기화 블럭 : static {}, 클래스 변수의 초기화에 사용
class Junseung {
	int age;
	String name;
	static int birthday;
	
	{
		age = 28;
		name = "이준승";
	} // 인스턴스 초기화 블럭

	static {
		birthday = 19951207
	} // 클래스 초기화 블럭
}

4. 멤버변수의 초기화 시기와 순서

  • 클래스 변수 초기화 시점 : 클래스가 처음 로딩될 때 단 한번, 클래스가 메모리에 올라갈 때 초기화
  • 인스턴스 변수 초기화 시점 : 인스턴스가 생성될 때 마다
  • 초기화 순서
    - 클래스 초기화 - > 인스턴스 초기화
    - 자동 -> 자동(명시적) -> 복잡(초기화블럭, 생성자)
profile
개발자 준승

0개의 댓글