티스토리 뷰
변수의 초기화
- 변수를 선언하고 처음으로 값을 저장하는 것
- 멤버변수(iv, cv)와 배열은 각 타입의 기본값으로 ‘자동 초기화’ 된다.
- 지역변수(lv)는 사용 전에 반드시 ‘수동 초기화’해야 한다.
더보기
지역변수(lv)는 사용 전에 반드시 ‘수동 초기화’해야 한다.
class InitTest {
int x; // 인스턴스 변수
int y; // 인스턴스 변수
void method1() {
int i; // 지역변수
int j = i; // 에러. 지역변수를 초기화하지 않고 사용
}
}
각 타입의 기본값
더보기

▲ 표6-3 타입별 자동 초기화 기본값
각 타입의 기본값

멤버변수의 초기화 종류
- 자동 초기화
- 간단 초기화
- 복잡 초기화
더보기
1. 자동 초기화
2. 간단 초기화
- 변수를 선언과 동시에 초기화(=, 대입 연산자)
Class Car {
int door = 4; // 기본형 변수의 초기화
Engine e = new Engine(); // 참조형 변수의 초기화
} // Engine e;는 참조형 변수의 초기화가 아니다.
- Engine e;는 참조형 변수의 초기화가 아니다.
3. 복잡 초기화
- 인스턴스 초기화 블럭
- 클래스 초기화 블럭
- 생성자
3.1 인스턴스 초기화 블럭
- 인스턴스변수(iv)의 복잡 초기화에 사용된다.
- { … }
- 거의 사용하지 않는다.
3.2 클래스 초기화 블럭
- 클래스 변수(cv)의 복잡 초기화에 사용된다.
- static { … }
3.3. 생성자
- 인스턴스변수(iv)의 복잡 초기화에 사용된다.
- 클래스이름() { ... }
예제 6-15
멤버변수의 초기화 순서
- ① 클래스 변수(cv) 초기화 → 인스턴스 변수(iv) 초기화
- ② 자동 초기화 → 명시적 초기화(간단, =) → 초기화 블럭 || 생성자(복잡, 여러 문장 넣기)
멤버변수의 초기화 시점
- 클래스변수(cv) 초기화 시점
- 인스턴스변수(iv) 초기화 시점
더보기



cv 초기화 시점
- 클래스가 메모리에 처음 로딩될 때(메모리에 올라갈 때) 단 한번
iv 초기화 시점
- 인스턴스가 생성될 때 마다



🍪
📄 - 객체지향개념 암기노트 바로가기
'Java의 정석_기초편' 카테고리의 다른 글
자바의 특징 (0) | 2022.10.17 |
---|---|
상속(Inheritance) (0) | 2022.10.13 |
생성자(constructor) (0) | 2022.10.12 |
오버로딩(overloading)과 오버라이딩(overriding) (0) | 2022.10.12 |
변수와 메서드 (0) | 2022.10.11 |
댓글
공지사항