char, String

자바에서는 char배열이 아닌 String클래슬를 이용해서 문자열을 처리하는 이유는 무엇일까?
String클래스는 char배열에 기능(메서드)을 추가한 것이다.
char배열과 String클래스의 한 가지 중요한 차이가 있는데, String객체(문자열)는 읽을 수만 있을 뿐 내용을 변경할 수 없다는 것이다.

public static void main(String[] args) {
    
    String str = "java";
    str = "8";
    System.out.println(str); // java8

    }

}

위처럼 String값이 바뀌는 것 같지만 새로운 문자열이 생겨 str이 새로운 주소값을 가르키는 것이다.

그리고 String문자열에서 하나의 문자만 꺼내오고 싶을 때 charAt이라는 메소드를 사용한다.
배열에서 “배열이름[index]”로 index에 위치한 값을 가져오는 것과 같다고 생각하면 된다.

public class Test {
public static void main(String[] args) {
    String str = "Hello";
    char ch = str.charAt(1);  // e
    }
}