Original article: String to Char Array Java Tutorial

이 글에서 저희는 Java에서 문자열(String) 타입의 데이터를 문자 배열(Character Array) 타입으로 어떻게 바꾸는지를 알아볼거에요. 또한 간단히 문자열과, 문자 그리고 배열이 어떤것인지도 설명해드리겠습니다.

Java에서 문자란 무엇일까요?

문자에 해당하는 char 타입은 기본형 테이터 타입입니다. char는 하나의 문자로 작은따옴표로 감싸져 있습니다. char 타입은 글자, 숫자, 문장부호, 띄어쓰기 혹은 그 외의 비슷한 무엇인가가 될수도 있습니다.
다음을 예로 들어볼수 있습니다:

char firstVowel = 'a';

Java에서 문자열이란 무엇일까요?

문자열에 해당하는 String 타입은 객체(참조형 타입)입니다. String은 문자열로 이루어져 있습니다. 큰따옴표로 감싸져 있다면 무엇이든 상관없습니다.
다음을 예로 들어볼수 있습니다:

String vowels = "aeiou";

Java에서 배열이란 무엇일까요?

배열(Array)는 같은 타입의 요소들을 정해진 갯수만큼 저장할수 있는 Java의 기본적인 데이터 구조입니다.
예시로 문자들의 배열을 정의해볼수 있습니다:

char[] vowelArray = {'a', 'e', 'i', 'o', 'u'};

이제 저희는 문자열, 문자 그리고 배열이 무엇인지에 대한 기본적인 이해를 갖추었습니다.

문자열을 문자 배열로 변환해봅시다

1. toCharArray() instance 메소드를 사용하기

toCharArray()String 클래스의 instance 메소드입니다. 이는 현재 string 객체에 기반하여 새로운 문자 배열을 반환합니다.

예시를 함께 살펴봅시다:

// 문자열 정의하기 
String vowels = "aeiou";
// 문자 배열 생성하기
char[] vowelArray = vowels.toCharArray();
// vowelArray 출력하기
System.out.println(Arrays.toString(vowelArray));

출력 결과: [a, e, i, o, u]

문자열을 문자 배열로 변환할때, 길이는 동일하게 유지됩니다. vowelsvowelArray의 길이를 비교해봅시다:

System.out.println("Length of \'vowels\' is " + vowels.length());
System.out.println("Length of \'vowelArray\' is " + vowelArray.length);

출력 결과:

Length of 'vowels' is 5
Length of 'vowelArray' is 5

배열을 출력하는데는 여러 방법을 사용할수 있지만, 저는 Arrays utility 클래스의 toString()이라는 static 메소드를 사용하였습니다.
toCharArray() instance 메소드에 대한 더 많은 정보는 Java 문서 에서 확인할 수 있습니다

2. charAt() instance 메소드를 사용하기

charAt()은 String 클래스의 instance 메소드입니다. 이는 현재 문자열에서 특정 인덱스에 위치한 문자를 반환합니다.

참고: 문자열은 배열과 유사하게 인덱스가 0부터 시작합니다.

이제 charAt()을 이용하여 문자열을 문자로 변환하는 방법을 알아봅시다:

// 문자열 정의하기 
String vowels = "aeiou";
// 문자 배열 생성하기. 배열의 길이는 vowels의 길이만큼이다. 
char[] vowelArray = new char[vowels.length()];
// 'vowels' 문자열의 각 문자를 순회하는 루프
for (int i = 0; i < vowels.length(); i++) {
    // add each character to the character array
    vowelArray[i] = vowels.charAt(i);
}
// 배열 출력하기
System.out.println(Arrays.toString(vowelArray));

출력 결과: [a, e, i, o, u]

charAt() instance 메소드에 대한 더 많은 정보는 Java 문서 에서 확인할 수 있습니다

문자열을 문자 배열로 변환하는 다른 방법을 알려드리긴했지만, 루프를 생성하고 이를 순회하는 방법대신 toCharArray() 메소드를 이용하여 더 쉽게 변환할수 있습니다.

혹시 제안이나 질문이 있다면 언제든지 말씀 부탁드립니다.

사진은 UnsplashAlex Alvarez 의 사진입니다.

데이터 사이언스 커리큘럼 펀딩 을 통해 freeCodeCamp를 응원해주세요

제게 연락하고 싶다면 Medium 을 통해 연락주시면 됩니다

감사합니다 😇

즐거운 코딩 되세요 ❤️

Java 프로그래밍에 관한 추가정보

  1. Java의 객체 지향 프로그래밍의 원칙: 초보자를 위한 객체 지향 프로그래밍의 개념
  2. Java 배열 메소드 - 자바에서 배열을 출력하는 방법
  3. Java String부터 Int까지 - 문자열 타입에서 정수형 타입으로 변환하는 방법
  4. Java 난수 생성기 – Math Random을 사용하여 난수 생성하는 방법