[Java] 배열 선언 및 리팩토링 방법 정리

    반응형

     

    Java 프로그래밍 언어에서, 배열 객체를 선언 및 초기화 하는 다양한 방법을 제공한다. 

    이번 포스팅에서는 배열 객체를 초기화 하고 선언하는 방법들에 대해 알아본다.


    배열 선언

    배열 초기화 

    - default value

    - for & foreach 를 사용한 배열 초기화

    - 선언과 동시에 초기화

     

    * 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다!


     

    배열 선언

    Java에서 배열은 동일한 데이터 타입의 요소를 저장할 수 있도록 도와주는 객체이다. 따라서 new keyword 를 사용해 인스턴스를 생성하며, 배열을 선언 및 초기화 하는 방법은 다음과 같다. 자료형 뒤에 [] 키워드를 붙이던, 배열명 뒤에 [] 키워드를 붙이는 c-style 방식으로 선언하든 상관없이 동작한다. 

    자료형[] 배열명 = new 자료형[배열크기]; // java-style
    자료형 배열명[] = new 자료형[배열크기]; // c-style

     

    배열은 객체이기에, 변수에는 생성한 배열 객체에 접근할 수 있는 참조값 주소가 반환된다. 

            int[] arr = new int[5]; // new int[5] 의 결과로 반환된 참조값을 arr에 저장한다.
            System.out.println("Array address - " + arr);
    Array address - [I@a09ee92

    배열 초기화

    #defalut value

    배열을 선언만 하고 초기화를 수행하지 않을 경우 default 값으로 다음과 같이 초기화된다. reference type [객체, 문자열 ..]기본값으로 null 값으로 초기화 되기에, NullPointerException Error에 유의하여 작성해야 한다. 

    객체배열 관련 포스팅 링크

    integer 0
    boolean false
    String (Refrence Type) null

     

    #for & foreach 를 사용한 배열 초기화 및 접근

    배열을 초기화하는 가장 간단한 방법은 for문을 사용해 순차적으로 배열에 접근해 데이터를 초기화 해 주는 것이다.

    또한 단순히 배열에 접근하여 출력하는 것이라면, foreach 문을 사용해 코드를 간결하게 작성할 수 있다. 

            // 배열 선언
            int[] arr = new int[5];
            // 배열 초기화
            for(int i = 0; i < arr.length; i++) {
                arr[i] = i + 1;
            }
            // for 배열 출력
            System.out.print("arr : " );
            for(int i = 0; i < arr.length; i++) {
                System.out.print(arr[i] + ", ");
            }
            // foreach 배열 출력
            System.out.print("arr : " );
            for (int i : arr) {
                System.out.print(i + ", ");
            }
    arr : 1, 2, 3, 4, 5

     

    #선언과 동시에 초기화 

    다음과 같이 2가지 방식으로 배열을 선언과 동시에 초기화 할 수 있다. 

    단, 2번째 방식으로 배열을 초기화 하는 경우에는 타입을 추론할 수 없으니, 반드시 선언과 동시에 초기화를 진행해 주어야 한다.

            int[] arr1 = new int[] {1, 2 , 3, 4, 5};
            int[] arr2 = {1, 2, 3, 4, 5};
    반응형

    댓글

    Designed by JB FACTORY