배열(Array)이란?
배열은:
"비슷한 데이터를 하나의 그룹으로 묶어서 저장하는 방법"
이라고 이해할 수 있다.
예를 들어 모험가 이름을 저장한다고 하면:
String name1 = "Wony";
String name2 = "Steve";
이렇게 하나씩 저장할 수도 있지만,
배열을 사용하면:
String[] adventurerList = {"Wony", "Steve"};
처럼 한 번에 관리할 수 있다.
1. 배열 선언
배열은 new 키워드를 사용해서 생성한다.
배열 선언 기본 구조
자료형[] 변수이름 = new 자료형[배열길이];
예시:
int[] arr = new int[5];
위 코드는 길이가 5인 정수형 배열을 생성한 것이다.
배열 생성 과정
int[] arr;
배열 변수 선언
arr = new int[5];
배열 길이 할당
int[] arr = new int[5];
선언과 동시에 생성
배열 요소 직접 저장하기
배열은 생성과 동시에 값을 넣을 수도 있다.
int[] arr = {10, 20, 30, 40, 50};
배열 내부 모습은 다음과 비슷하다.
[10] [20] [30] [40] [50]
배열의 길이(length)
배열 길이는 .length 로 확인할 수 있다.
int arrLength = arr.length;
System.out.println(arrLength);
출력 결과:
5
다양한 배열 선언
문자열 배열
String[] strArr = new String[5];
논리형 배열
boolean[] booleanArr = new boolean[3];
2. 배열의 요소(Element)
배열 안에 들어있는 각각의 값을 배열의 요소(Element)라고 한다.
예를 들어:
int[] arr = {10, 20, 30};
여기서:
- 10
- 20
- 30
각각이 배열의 요소이다.
3. 배열 요소 접근하기
배열의 값에 접근하려면 인덱스(Index)를 사용해야 한다.
인덱스(Index)
배열은 0부터 시작한다.
int[] arr = {10, 20, 30, 40, 50};
// [0] [1] [2] [3] [4]
배열 요소 출력하기
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
출력 결과:
10
20
30
배열 값 수정하기
인덱스를 사용하면 배열 값 수정도 가능하다.
arr[0] = 100;
변경 후 배열 상태:
[100] [20] [30] [40] [50]
인덱스 사용 시 주의점
배열은 0부터 시작하기 때문에 주의해야 한다.
예를 들어 길이가 5인 배열이라면:
[0] [1] [2] [3] [4]
마지막 요소는 4이다.
즉:
"5번째 요소를 찾을 때 index는 5가 아니라 4"
라는 점을 기억해야 한다.
4. 배열 탐색
배열은 반복문과 함께 자주 사용된다.
기본 for문 활용
for (int i = 0; i < arr.length; i++) {
System.out.println("인덱스: " + i + " 값: " + arr[i]);
}
배열 길이만큼 반복하면서 모든 요소를 탐색할 수 있다.
향상된 for문
실무에서는 향상된 for문도 많이 사용한다고 한다.
기본 구조
for (배열요소 : 배열) {
}
예시:
for (int a : arr) {
System.out.println(a);
}
배열 안의 값을 하나씩 꺼내서 사용할 수 있다.
코드가 훨씬 깔끔한 느낌이었다.
5. 2차원 배열
2차원 배열은 행과 열 구조를 가지는 배열이다.
좌표, 게임판, 지도 같은 데이터를 표현할 때 자주 사용된다.
2차원 배열 구조
boolean[][] board = new boolean[2][3];
배열 구조는 다음과 비슷하다.
[] [] []
[] [] []
2차원 배열 선언과 초기화
boolean[][] board = {
{true, false},
{false, true}
};
요소 접근하기
System.out.println(board[0][0]);
System.out.println(board[0][1]);
여기서:
- 첫 번째 인덱스 → 행(row)
- 두 번째 인덱스 → 열(column)
을 의미한다.
실습 과제 - 검은 돌 좌표 찾기
2차원 배열을 활용해서 true 값의 좌표를 찾는 실습도 진행했다.
for (int i = 0; i < board.length; i++) {
for (int j = 0; j < board[i].length; j++) {
if (board[i][j]) {
System.out.println("검은돌 위치: (" + i + "," + j + ")");
}
}
}
중요한 포인트
board.length
→ 행(row)의 개수
board[i].length
→ i번째 행의 열(column) 개수
처음에는 2차원 배열이 굉장히 어렵게 느껴졌는데,
좌표 개념이라고 생각하니까 조금 이해가 되기 시작했다 😊
'Java' 카테고리의 다른 글
| JAVA 기초 정리 - 클래스(Class)와 객체(Object) (0) | 2026.05.19 |
|---|---|
| JAVA 기초 정리 - 메서드(Method) (0) | 2026.05.18 |
| JAVA 기초 정리 - 반복문(Loop) (0) | 2026.05.14 |
| JAVA 기초 정리 - 조건문(Conditional Statement) (0) | 2026.05.13 |
| JAVA 기초 정리 - 연산자(Operator) (0) | 2026.05.12 |