> For the complete documentation index, see [llms.txt](https://nbcamp.gitbook.io/java-handbook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nbcamp.gitbook.io/java-handbook/part-04..md).

# Part 04. 배열

## 배열

> ### 배열은 <mark style="color:blue;">같은 타입</mark>의 여러 변수를 <mark style="color:blue;">하나의 묶음</mark>으로 다루는 것입니다.

## 배열의 선언과 생성

> ### 배열의 선언&#x20;
>
> * 배열을 다루기 위한 참조변수의 선언
>
> ### 선언 방법 : *아래 두 가지 방법 모두 지원*
>
> * 타입\[] 변수이름;
>   * <mark style="color:blue;">`int[] age;`</mark>
>   * <mark style="color:blue;">`String[] name;`</mark>
> * 타입 변수이름\[];
>   * <mark style="color:blue;">`int age[];`</mark>
>   * <mark style="color:blue;">`String name[];`</mark>
>
> ### 배열의 생성 : *실제 저장공간을 생성*
>
> * 타입\[] 변수이름 = new 타입\[길이];\
>   ![](/files/NZIh66E57NBLTEgHc3ET)
>   * <mark style="color:blue;">`int[] age;`</mark>                 : int 타입의 배열을 다루기 위한 참조변수 age 를 선언
>   * <mark style="color:blue;">`age = new int[5];`</mark>  : int 타입의 값 5개를 저장할 수 있는 배열을 생성(<mark style="color:blue;">new</mark>)
>   * 배열의 <mark style="color:blue;">시작 주소(메모리 주소)가 참조변수</mark> age 에 <mark style="color:blue;">저장</mark>되었습니다.\
>     age 는 <mark style="color:blue;">저장된 주소</mark>를 통해 <mark style="color:blue;">해당 배열을 가리키고 있습니다.</mark> \
>     즉, <mark style="color:blue;">참조변수와 배열이 연결되었고 우리는 참조변수를 이용하여 배열을 다룰 수 있습니다.</mark>

## 배열의 인덱스

> ### 각 요소(저장공간)에 자동으로 붙는 일련 번호
>
> * <mark style="color:blue;">인덱스(index)의 범위는 0부터 '배열길이 - 1' 까지!</mark>

<figure><img src="/files/5mfUujNDja65mbjwFUHr" alt=""><figcaption><p><mark style="color:blue;"><code>int[] age = new int[5];</code></mark></p></figcaption></figure>

* <mark style="color:blue;">`int[] age = new int[5];`</mark>

<figure><img src="/files/IicPZP0dpOoWKC0mAfnQ" alt=""><figcaption></figcaption></figure>

* <mark style="color:blue;">`age[3] = 28;`</mark>
* 배열 age 의 4번째 요소에 28을 저장합니다.

<figure><img src="/files/GkLzKxNs4VsPKv1cjskG" alt=""><figcaption></figcaption></figure>

* <mark style="color:blue;">`int beatitudoAge = age[3];`</mark>

* <mark style="color:blue;">배열</mark> age의 4번째 <mark style="color:blue;">요소의 값</mark>을 읽어서 beatitudoAge <mark style="color:blue;">변수에</mark> <mark style="color:blue;">저장</mark>합니다.

* 아래 예제코드로 학습해 보겠습니다.

{% code lineNumbers="true" %}

```java
class Arrays1_1 {
    public static void main(String[] args) {
//        int[] age; // 참조변수 베열 age 생성
//        age = new int[5]; // 배열의 생성
        int[] age = new int[5]; // 선언과 생성 동시에
        age[3] = 28;
        System.out.println("age[3] = " + age[3]);

        int beatitudoAge = age[3];
        System.out.println("beatitudoAge = " + beatitudoAge);

        System.out.println("age 배열의 전체값 확인");
        System.out.println("age[0] = " + age[0]);
        System.out.println("age[1] = " + age[1]);
        System.out.println("age[2] = " + age[2]);
        System.out.println("age[3] = " + age[3]);
        System.out.println("age[4] = " + age[4]);
    }
}
```

{% endcode %}

{% hint style="info" %}
Ref. Java의 정석 기초편 Chapter5(1, 2, 3)

Ref. [배열과 인덱스](https://www.youtube.com/watch?v=TVjjNLmu08o\&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp\&index=40)
{% endhint %}
