[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};