본문 바로가기

언어 기초/JAVA

[자바의정석 | Chapter 06 객체지향 프로그래밍1] 변수의 초기화

1. 학습목표

변수의 초기화를 통해 클래스 사용을 이해할 수 있다.

2.필요 개념 문장정리

변수의 초기화

  • 변수를 선언하고 처음으로 값을 저장하는 것을 변수의 초기화라고 한다.
  • 멤버변수(클래스변수와 인스턴스변수)와 배열은 초기화는 선택적이지만 지역변수의 초기화는 필수적이다.연산자 new가 인스턴스를 생성하는 것이지 생성자가 인스턴스를 생성하는 것이 아니다.

멤버변수의 초기화 방법

  1. 명시적 초기화
  2. 생성자
  3. 초기화블럭
  • 클래스 초기화 블럭은 클래스가 메모리에 처음 로딩될 때 한번만 수행되며 인스턴스 최기화 블럭은 생성자와 같이 인스턴스를 생성할 떄 마다 수행된다.
  • 생성자보다 인스턴스 초기화 블럭이 먼저 수행된다.

 3. 코드작성

class StaticBlockTest {
	static int[] arr = new int[10];
   
	static {
    	for(int i = 0; i < arr.length; i++) {
        	arr[i] = (int)(Math.random()*10) + 1;
        }
    }
    Public static void main(String args[]) {
    	for(int i = 0; i < arr.length; i++)
        	System.out.println("arr[" + i + "] :" + arr[i]);
    }    
}

실행결과
arr[0] : 4
arr[1] : 8
arr[2] : 7
arr[3] : 2
arr[4] : 2
arr[5] : 10
arr[6] : 7
arr[7] : 10
arr[8] : 1
arr[9] : 7
  • 배열이나 예외처리가 필요한 초기화에서는 명시적 초기화만으로 초기화작업을 할 수 없다. 추가적으로 클래스 초기화 블럭을 사용하도록 한다.

4. 마무리

초기화 블럭을 통해 중복되는 코드를 제거하여 재사용성을 높일 수 있음을 이해하였다.