본문 바로가기
Programming/Java

[Java] char[] 과 String 클래스의 차이는?

by 강한수달 2022. 4. 7.

안녕하세요, 오늘은 Java에서 char[] 과 String 클래스의 차이에 대해 알아보겠습니다.

 

Java 에서 char[] 배열과 String 클래스는 문자열 데이터를 저장하는 데 사용됩니다.

 

  1. char[]
    • char[]은 문자들의 배열을 나타냅니다. 예: char[] chars = {'H', 'e', 'l', 'l', 'o'}.
    • 이 배열은 수정 가능하며, 각 문자에 대한 인덱스로 직접 접근하여 수정할 수 있습니다.
    • 문자열 연산이나 수정이 필요한 경우 유용합니다.
char[] chars = {'H', 'e', 'l', 'l', 'o'};
chars[0] = 'h'; // 'H'를 'h'로 변경
String strFromCharArray = new String(chars); // char[] 배열을 String으로 변환

 

  1. String
    • String은 문자열을 나타내는 클래스입니다. 예: String str = "Hello";.
    • String 객체는 불변(immutable)하며, 한 번 생성되면 변경할 수 없습니다.
    • 문자열 조작이나 문자열 간의 결합, 분할 등과 같은 작업에 유용합니다.
String str = "Hello";
String newStr = str.concat(" World"); // 기존 문자열과 " World"를 결합한 새로운 문자열 생성

 

 

차이점

  • char[] 배열은 가변(mutable)하며 직접 수정 가능한 반면, String 객체는 한 번 생성되면 변경할 수 없습니다.
  • 문자열을 자주 변경해야 할 경우나 문자 단위로 조작해야 하는 경우에는 char[] 배열이 유용할 수 있습니다.
    그러나 대부분의 경우 문자열을 효과적으로 다루고자 할 때는 String 클래스가 더 편리하고 안전합니다.

자바에서는 String 클래스에서 toCharArray() 메서드를 사용하여 Stringchar[] 배열로 변환하거나, String 클래스의 생성자를 사용하여 char[] 배열을 String으로 변환할 수 있습니다.

 

 

 

※ 출처

- wjdrbs96, Tistory - https://devlog-wjdrbs96.tistory.com/135

 

[Java] char배열과 String 클래스의 차이는?

지금까지 여러 문자, 즉 문자열을 저장할 때 String타입의 변수를 사용했다. 사실 문자열이라는 용어는 '문자를 연이어 늘어놓은 것'을 의미하므로 문자배열인 char배열과 같은 뜻이다. 자바에서는

devlog-wjdrbs96.tistory.com

 

댓글