반응형
변수를 선언하고 처음으로 값을 저장하는 것을 '변수의 초기화'라고 한다.
멤버 변수, 배열: 초기화를 하지 않아도 자동적으로 변수의 자료형에 맞는 기본값으로 초기화가 된다.
ex)null, 0, false...
지역 변수: 사용하기 전에 반드시 초기화해야 한다. (클래스 전역이 아닌 클래스 안의 메소드안이나 생성자 안이나 등등..
클래스 안에 중괄호 안에 있는 것 . )
cf)메모리가 덮어쓰기 방식이기 떄문이다. 지역변수 자동초기화하면 비효율적으로 메모리가 작동하기 때문
초기화 순서
1) 클래스 변수(cv) 초기화-> 인스턴스 변수(iv) 초기화
2) 자동 초기화 -> 명시적 초기화(간단) -> 초기화 블럭, 생성자(복잡)
1. 멤버변수의 초기화
1. 명시적 초기화 /간단 초기화
명시적 초기화란
변수를 선언과 동시에 초기화하는 것을 명시적 초기화라고 한다. 가장 기본적이면서도 간단한 초기화 방법이므로 여러 초기화 방법 중에서 가장 우선적으로 고려되어야 한다.
2. 초기화 블럭/ 복잡한 초기화
초기화 블럭이란
'클래스 초기화 블럭' :클래스 변수의 복잡한 초기화에 사용된다. ex)static{} cv /시점: 클래스가 처음 로딩될때 단 한번
'인스턴스 초기화 블럭' : 인스턴스의 복잡한 초기화에 사용된다. ex){} iv / 시점: 인스턴스가 생길 때 마다
다시 한번 그러므로 초기화 순서 정리
1. cv->iv
2. 자동-> 간단-> 복합
0, null > = > static{}/ 생성자
반응형
'자바를 잡아라' 카테고리의 다른 글
[JAVA] chapter 3 연산자 (0) | 2023.08.08 |
---|---|
[JAVA] chapter2 변수 (0) | 2023.08.07 |
[JAVA][객체2] 상속/포함관계 (0) | 2023.07.05 |
[JAVA] 생성자/ This (0) | 2023.07.04 |
[JAVA] 메서드 오버로딩(overloading) (0) | 2023.07.04 |