JAVA_26_변수의 초기화(~ch06)

6706 단어 JavaJava

지역변수(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

좋은 웹페이지 즐겨찾기