# String 배열

## String 클래스

> ### char\[] 와 메서드(기능)를 결합한 것입니다.
>
> * 기본형 처럼 사용이 가능한 참조형 입니다.
>   * <mark style="color:blue;">`String str = "행복";`</mark>
>   * <mark style="color:blue;">`String str = new String("행복");`</mark>
>
> * 문자열을 많이 사용하기 때문에 특별하게 만들어진 클래스 입니다.
>
> * String 클래스는 내용을 변경할 수 없습니다. 새로운게 만들어집니다.
>
> * <mark style="color:blue;">`String name = "choi";`</mark>\ <mark style="color:blue;">`String firstName = "wb";`</mark>\ <mark style="color:blue;">`name = name + firstName;`</mark>\
>   ![](https://1460556410-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3hxjcsx6VFJEpkIV3dzZ%2Fuploads%2F1Pf1lqBdUivxA9XPypy1%2Fimage.png?alt=media\&token=baf87993-29f2-4376-ae8e-650aa942d03c)

#### String 클래스의 주요 메서드

|                 메서드                |                         설명                        |
| :--------------------------------: | :-----------------------------------------------: |
|       char charAt(int index)       |          문자열에서 해당 위치(index)에 있는 문자를 반환한다.         |
|            int length()            |                   문자열의 길이를 반환한다.                  |
| String substring(int from, int to) |    문자열에서 해당 범위(from\~to)의 문자열을 반환한다.(to는 포함 안됨)   |
|     boolean equals(Object obj)     | <p>문자열의 내용이 같은지 확인한다. <br>같으면 true, 다르면 false</p> |
|        char\[] toCharArray()       |           문자열을 문자배열(char\[])로 변환해서 반환한다           |

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

{% code lineNumbers="true" %}

```java
class Arrays4_1 {
    public static void main(String[] args) {
        String str = "ABCDEFG";
        char ch = str.charAt(3);
        System.out.println("ch = " + ch); // ch = D

        String str2 = str.substring(1, 4);
        System.out.println("str2 = " + str2); // str2 = BCD

        String str3 = str.substring(1);
        System.out.println("str3 = " + str3); // str3 = BCDEFG

        String str4 = str.substring(1, str.length());
        System.out.println("str4 = " + str4); // str4 = BCDEFG

        char[] chArr = str.toCharArray();
        System.out.println("Arrays.toString(chArr) = " + Arrays.toString(chArr));
    }
}
```

{% endcode %}

## String 배열의 선언과 생성

> ### <mark style="color:blue;">`String[] name = new String[3];`</mark>
>
> * 3개의 문자열을 담을 수 있는 <mark style="color:blue;">배열을 생성</mark>한다.
> * <mark style="color:blue;">참조형</mark> 이기 때문에 기본값 <mark style="color:blue;">null</mark> 로 <mark style="color:blue;">초기화 됩니다</mark>.

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

{% code lineNumbers="true" %}

```java
class Arrays4_2 {
    public static void main(String[] args) {
        String[] strArr = {"축구", "야구", "골프", "테니스"};
        System.out.println("Arrays.toString(strArr) = " + Arrays.toString(strArr));
        
        String[] strArr2 = new String[4];
        System.out.println("Arrays.toString(strArr2) = " + Arrays.toString(strArr2));
    }
}
```

{% endcode %}

{% hint style="info" %}
Ref. Java의 정석 기초편 Chapter5(12, 13, 14, 15)

Ref. [String 클래스](https://www.youtube.com/watch?v=wENWOoORb_o\&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp\&index=49) , [String 배열](https://www.youtube.com/watch?v=wwSTlF2gFjU\&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp\&index=45)
{% endhint %}
