1. 배열(Array)
교재 p.52-63 2.2 변수와 자료형
1️⃣ 배열이란?
같은 종류의 데이터를 일정한 순서로 연속해서 저장하는 자료구조.
(저장된 위치에는 번호(인덱스)가 붙어 있어, 즉시 접근할 수 있음)
→ 똑같은 크기의 칸들이 일렬로 붙어 있는 데이터 보관 상자
2️⃣ 배열이 필요한 이유
배열이 없으면
inta1=90;
inta2=85;
inta3=100;배열 사용
int[] scores = {90,85,100};➡️ 코드가 짧아지고, 반복문 사용 가능
3️⃣ 배열의 특징
① 인덱스로 즉시 접근 가능 (빠름)
② 같은 자료형만 저장
③ 크기가 고정 (생성 후 변경 불가)
④ 연속된 메모리 공간에 저장됨
그래서 접근 속도가 빠른 대신, 중간에 끼워 넣거나 삭제하기는 어려움.
⑤ 인덱스는 0부터 시작
4️⃣ 배열 선언 방법
① 선언
int[] arr;② 생성
arr =newint[5];③ 선언 + 생성
int[] arr =newint[5];④ 초기화와 동시에 생성
int[] arr = {1,2,3,4,5};5️⃣ 배열과 메모리
- 배열은 참조 타입
- 실제 데이터는 Heap
- 변수에는 주소가 저장됨
6️⃣ 배열의 장단점
장점
- 빠른 접근 속도 (O(1))
- 반복 처리에 유리
단점
- 크기 변경 불가
- 중간 삽입/삭제 어려움
7️⃣ 배열 VS 컬렉션
구분 | 배열 | ArrayList |
크기 | 고정 | 가변 |
타입 | 하나 | 제네릭 |
성능 | 빠름 | 약간 느림 |
2. 2차원 배열(2D Array)
1️⃣ 2차원 배열이란?
1) 개념
행(Row)과 열(Column)로 이루어진 ‘표(table)’ 형태의 배열
- 배열 안에 또 다른 배열이 들어 있는 구조
- 배열[행][열]
[1][2][3]
[4][5][6]2) 예
int[][] arr = {
{1, 2, 3},
{4, 5, 6}
};이건 2행 3열짜리 배열
- arr[0][0] → 1
- arr[0][1] → 2
- arr[1][2] → 6
첫 번째 []는 행 번호, 두 번째 []는 열 번호를 의미
2️⃣ 2차원 배열 사용 방법
1) 선언과 생성
int[][] arr =newint[2][3];// 2행 3열또는
int[][] arr = {
{1,2,3},
{4,5,6}
};3) 접근
arr[0][1]; // 2
arr[1][2]; // 63️⃣ 2차원 배열의 특징
① “행과 열”로 이루어진 표 구조
그래서 표 형태의 데이터(좌표, 지도, 게임판 등)를 표현하기에 좋음.
② 인덱스로 각각 접근
③ 크기 고정
④ 행마다 열의 길이가 달라도 됨 (자바에서 가능)
[1,2,3]
[4,5]
[6,7,8,9]→ 이런 걸 가변 배열(Jagged Array) 라고 함
Share article