[JAVA] 배열 (1차원 배열, 2차원 배열)

chaeyeong·2025년 2월 1일

자바 이론

목록 보기
3/9

1. 배열(Array)이란?

💡 배열(Array)이란 선형 자료구조 중 하나로, 동일한 자료형의 데이터를 메모리에 연속적으로 저장하여 하나의 변수에 묶어서 관리하여 데이터 관리의 효율성을 높인다. 배열의 길이는 최초 선언한 값으로 고정되며 인덱스(index)를 통해 데이터에 접근할 수 있다.

➡️ Primitive type의 배열은 초기값(int = 0)을 가지고 있지만 Reference type의 배열은 초기값이 null이다.

1-1. 1차원 배열

(1) 선언 : 1차원 배열의 선언은 타입[] 변수 , 타입 변수[] 두 가지의 방법이 있다.

// 배열의 선언과 초기화를 각각 수행
int[] arr;
arr = new int[5]; 

// 배열의 선언과 초기화를 한번에 수행
int[] i_arr = new int[5];
String[] s_arr = new String[5];

(2) index : 배열을 선언하면 다음과 같이 index가 부여된다.

0123456789
Arr[0]Arr[1]Arr[2]Arr[3]Arr[4]Arr[5]Arr[6]Arr[7]Arr[8]Arr[9]
  • 첫 번째 인덱스 : 0
  • 배열의 길이 : 마지막 인덱스 + 1
  • element : 배열을 구성하는 각각의 값 (Arr[0], Arr[1], ...)

(3) 특징

  • 배열 변수는 Reference Type에 속한다.
  • 배열도 객체이므로 Heap 영역에 생성되고, 배열 변수는 Heap 영역의 배열 객체를 참조한다.
  • 따라서 new를 선언하지 않으면 해당 배열은 null값을 가지게 된다. null값을 가진 상태에서 배열을 활용하려고 하면 NullPointerException이 발생한다.

1-2. 2차원 배열

(1) 선언 : 2차원 배열도 1차원 배열과 유사한 방법으로 선언과 초기화를 한다.

//2차원 배열의 선언과 초기화1
int[][] arr = new int[2][2];
arr[0][0] = 1;
arr[0][1] = 2;
arr[1][0] = 3;
arr[1][1] = 4;

//2차원 배열의 선언과 초기화2
int arr[][] = {{1, 2}, {3, 4}}

(2) index

Col1Col2Col3Col4…
Row1Arr[0][0]Arr[0][1]Arr[0][2]Arr[0][3]
Row2Arr[1][0]Arr[1][1]Arr[1][2]Arr[1][3]
Row3Arr[2][0]Arr[2][1]Arr[2][2]Arr[2][3]
Row4Arr[3][0]Arr[3][1]Arr[3][2]Arr[3][3]
…
profile
그래도 해야지 어떡해

0개의 댓글