JAVA_26_변수의 초기화(~ch06)
지역변수(lv)의 초기화
- ✨✨ 반드시 내가 직접 수동 초기화를 해야한다!!!
멤버변수(iv, cv)의 초기화
- 기본적으로
null
또는0
... 으로 자동 초기화
1. 명시적 초기화(=)
- 대입연산자(=)로 선언 시 간단 초기화
1) 기본형 변수의 초기화
2) 참조형 변수의 초기화
:null
이 기본값이긴 하나, ✨객체 주소✨로 초기화 해야한다!!
class Car{
int door = 4; // 기본형 변수의 초기화
Engine e = new Engine(); // 참조형 변수의 초기화
2. 초기화 블럭
{}
안에 여러 문장을 넣은 복잡 초기화
1) {}
- 인스턴스 초기화 블럭
- iv 초기화 시
- 거의 안씀
2) static {}
- 클래스 초기화 블럭
- ✨cv 초기화 시
3. 생성자
- 앞에서 배운 거!
- ✨iv 초기화 시
변수 초기화 시점
cv 초기화 시점
: 클래스가 처음 메모리에 올라갈 때 단 한번!
iv 초기화 시점
: 인스턴스가 생성될 때마다
초기화 순서
- cv -> (객체생성) -> iv
- 자동(
0
) -> 대입(=
) -> 블록(static{}
,생성자
)
ex6_15 작성해보기
public class Ex6_15 {
public static void main(String[] args) {
// cv초기화 방법인 static{} 사용하기
for(int i=0; i<arr.length; i++) {
System.out.println("arr["+i+"] = "+arr[i]);
}
}
static int[] arr = new int[10]; // 10칸짜리 배열 생성
static { // static{} : cv 초기화
for(int i=0; i<arr.length; i++) {
arr[i] = (int)(Math.random()*10) + 1;
// 1이상 10이하의 정수를 랜덤하게 뽑아서 배열에 넣기
}
}
}
arr[0] = 4
arr[1] = 4
arr[2] = 7
arr[3] = 6
arr[4] = 6
arr[5] = 4
arr[6] = 2
arr[7] = 4
arr[8] = 5
arr[9] = 10
Ref
Author And Source
이 문제에 관하여(JAVA_26_변수의 초기화(~ch06)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@lecharl/JAVA26저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)