하나의 이름으로 동일한 자료형의 데이터를 여러개 연속적으로 저장할 수 있는 메모리 공간을 할당 받는 것을 말함
변수는 하나의 값만을 저장하지만 배열은 여러개의 값을 저장할 수 있음
==> 같은 자료형의 데이터들이 연속적으로 저장 됨
배열은 선언과 동시에 저장할 수 있는 자료형의 타입이 결정 됨 만약 다른 자료형의 데이터를 저장하려면 타입 불일치 컴파일 오류가 발생 됨
배열 방의 이름은 0이라는 인덱스부터 시작 됨
배열의 단점 : 배열은 한 번 크기가 정해지면 크기를 늘리거나 줄일 수 없음
1단계 : 배열 선언
형식) 자료형[] 배열명(배열이름) 또는 자료형 배열명[]
2단계 : 배열 메모리 생성(메모리 할당)
형식) 배열명 = new 자료형[배열의 크기]
3단계 : 배열 초기화 ==> 할당된 메모리 영역에 데이터를 저장
4단계 : 배열을 이용 ==> 데이터 처리(연산, 출력 등등)
============================코드============================
// 1단계 : 배열 선언
// 형식) 자료형[] 배열명(배열이름) 또는 자료형 배열명[]
int[] arr; // arr은 임의로 설정 가능 변수명처럼!
// 2단계 : 배열 메모리 생성(메모리 할당)
arr = new int[5]; // in[?] ?의 수를 저장할 시 int(4바이트) * ?(임의의 수 / ?바이트) 하면 됨 ==> heap 메모리 사용하는 것과 같음
// 4바이트 크기의 int값이 5개의 메모리 공간이 잡혀짐 □□□□□
System.out.println("arr >>> " + arr);
// 3단계 : 배열 초기화 ==> 할당된 메모리 영역에 데이터를 저장
arr[0] = 10; // arr 방의 첫번째 방에 10이 들어감
arr[1] = 20; // arr 방의 두번째 방에 20이 들어감
arr[2] = 30;
// arr[3] = "홍길동"; // 자료형 오류
arr[3] = 40;
arr[4] = 50;
// arr[5] = 60; // 실행시 오류 (0부터 시작하기 때문!)
// 배열의 연산
arr[2] += 100; // arr[2] = arr[2] + 100;
// 4단계 : 배열에 들어가 있는 데이터를 화면에 출력해보자
System.out.println("arr[0] >>> " + arr[0]);
System.out.println("arr[1] >>> " + arr[1]);
System.out.println("arr[2] >>> " + arr[2]);
System.out.println("arr[3] >>> " + arr[3]);
System.out.println("arr[4] >>> " + arr[4]);
System.out.println();
// 반복문을 이용하여 배열을 화면에 출력해보자
for(int i = 0; i < 5; i++) {
System.out.println("arr[" + i + "] >>> " + arr[i]);
}

5개의 정수를 저장할 배열을 만들고 키보드로 배열에 5개의 데이터를 저장한 후, 해당 배열을 화면에 출력해보자
============================코드============================
Scanner sc = new Scanner(System.in);
// 배열의 1단계 + 2단계 : 배열 선언 및 배열 메모리 생성
int[] score = new int[5];
//System.out.println("첫번째 정수 입력 : ");
//score[0] = sc.nextInt();
//System.out.println("두번째 정수 입력 : ");
//score[1] = sc.nextInt();
//System.out.println("세번째 정수 입력 : ");
//score[2] = sc.nextInt();
//System.out.println("네번째 정수 입력 : ");
//score[3] = sc.nextInt();
//System.out.println("다섯번째 정수 입력 : ");
//score[4] = sc.nextInt();
// 반복문을 이용하여 5개의 정수를 배열에 저장하자
for(int i = 0; i < 5; i++) {
System.out.print((i+1) + "번째 정수 입력 : ");
score[i] = sc.nextInt();
}
// 배열에 저장된 데이터를 화면에 출력해보자
for(int i = 0; i < 5; i++) {
System.out.println("score[" + i + "] >>> " + score[i]);
}
sc.close();

[문제]
내가 여행 가고 싶은 5개 나라를 키보드로 입력 받아서 배열에 저장한 후 배열에 저장된 나라를 화면에 보여주자
============================코드============================
Scanner sc = new Scanner(System.in);
String[] coun = new String[5];
for(int i = 0; i < 5; i++){
System.out.print((i+1) + "번째 가고 싶은 나라 : ");
coun[i] = sc.next();
}
System.out.println();
for(int i = 0; i < 5; i++){
System.out.println("coun[" + i + "] >>> " + coun[i]);
// System.out.print(coun[i] + "\t"); ==> 하면 옆으로 출력
