지역변수는 수동 초기화 해야함!(사용전 꼭!!)
수동초기화란? - 우리가 직접 초기화
지역변수 (호출돼서 작업되는 동안만 사용되기 때문에)
재사용이 빈번한 메모리 -> 메서드가 호출될때마다 공간을 0으로 초기화 하면 성능이 떨어짐
성능 높이려고 항상 0으로 초기화 안하고, 새로운 값으로 덮어쓰는 방식으로!
그 값이 뭔지 모르니까,, 수동초기화.
인스턴스변수 -> 유지기간 길어. 초기화 하고 써도 돼~ (자동초기화)
명시적 초기화 (=) // 대입연산자를 통한 초기화 , 선언시!
- 기본형일 때는 int door = 4; // 이런식으로 쉬워!
- 참조형일 땐 ? init e = new init(); // 참조형 변수가 가질 수 있는 값은
널 아니면 객체주소! // 기본값인 널로 초기화 됨 // 근데 사실 이건 초기화가 아냐
먼소리인지 ~ // 참조형은 객체를 만들어서 넣어줘야한대 ~
초기화 블럭 //복잡한 초기화, 괄호안에 여러 문장 넣기
- 인스턴스 초기화 블럭 : {}
- 클래스 초기화 블럭 : static {}
생성자 // iv 초기화, 복잡한 초기화
1) 자동초기화
2) 간단초기화
3) 복잡초기화
복잡초기화 -> cv일때는 static{} / iv일때는 생성자..
* 클래스 변수 초기화 시점 : 클래스가 처음 로딩될 때(메모리에 올라갈 때) 딱 한 번
* 인스턴스 변수 초기화 시점 : 인스턴스가 생성될 때 마다