Java에서 char 타입을 문자열(String)로 변환하려면 toString()과 valueOf() 메서드를 사용합니다. 두 메서드 모두 어떤 데이터 타입이든 문자열로 변환할 수 있으며, char를 문자열로 변환하는 경우에는 동일하게 동작합니다.
프로그래밍에서 데이터 타입은 특정 종류의 데이터를 서로 구분하기 위해 사용됩니다. 예를 들어 문자열은 텍스트 기반 데이터를 저장하고, 부동소수점 숫자는 소수점이 있는 숫자를 저장합니다.
값이 가지는 데이터 타입에 따라 값을 조회하고 조작하는 방식이 달라집니다. 그래서 Java 개발 과정에서는 데이터를 다른 타입으로 변환해야 하는 상황이 자주 발생합니다. 그중에서도 가장 흔한 타입 변환 중 하나인 char → 문자열 변환은 한 가지 이상의 해결 방법이 존재합니다.
바로 이때 toString()과 valueOf() 메서드가 유용합니다. 이 글에서는 예제 코드와 함께 이 두 메서드를 사용해 Java에서 char를 문자열로 변환하는 방법을 자세히 살펴보겠습니다.
Java의 데이터 타입
Java에는 데이터를 저장하기 위한 여러 가지 데이터 타입이 있습니다. 예를 들어 char는 단일 문자 하나를 저장하고, int는 정수를 저장합니다.
각 데이터 타입은 고유한 연산 방식을 가지고 있으며, 이를 통해 데이터를 조작할 수 있습니다. 예를 들어 부동소수점과 정수는 수학 연산으로 조작할 수 있고, 문자열은 Java의 문자열 메서드를 사용해 변경할 수 있습니다.
이번 튜토리얼에서는 char와 string, 이 두 가지 데이터 타입에 집중해 보겠습니다.
Java에서 char는 단일 문자를 저장합니다. char는 'character(문자)'의 약자로, Java의 Character 클래스를 가리킵니다. 다음은 Java에서 char를 사용하는 예시입니다:
char theLetterF = 'F';
문자열(String)은 하나 이상의 문자 시퀀스를 저장하는 데 사용됩니다. 다음은 Java에서 문자열을 사용하는 예시입니다:
String restaurantName = "The Two Cranes";
그렇다면 char를 문자열로 변환하려면 어떻게 해야 할까요? 지금부터 사용할 수 있는 두 가지 방법을 알아보겠습니다.
toString() 메서드로 char를 문자열로 변환하기
Java의 toString() 메서드는 값을 문자열로 변환하는 데 사용됩니다. 이 메서드는 매개변수를 하나 받는데, 바로 문자열로 변환하고 싶은 값입니다.
char를 문자열로 변환하려면 Character.toString() 메서드를 사용할 수 있습니다. 문법은 다음과 같습니다:
Character.toString(value);
예를 들어 재단사를 위한 프로그램을 만든다고 가정해 보겠습니다. 이 프로그램은 고객의 이름(first name)과 성(last name)의 첫 글자를 저장해서, 재단사가 고객 옷에 넣을 이니셜(모노그램)을 알 수 있도록 합니다.
현재 이 값들은 char로 저장되어 있습니다. 하지만 재단사가 프로그램에 새로운 기능을 추가하기로 결정하면서, char 값을 문자열로 변환해 달라고 요청했습니다. 다음 코드를 사용하면 이니셜 문자를 문자열로 변환할 수 있습니다:
class ConvertMonograms {
public static void main(String[] args) {
char first = 'T';
char second = 'F';
String first_string = Character.toString(first);
String second_string = Character.toString(second);
System.out.println("The first monogram letter is: " + first_string);
System.out.println("The second monogram letter is: " + second_string);
}
}
코드 실행 결과:
The first monogram letter is: T
The second monogram letter is: F
코드가 하는 일을 하나씩 살펴보겠습니다. 먼저 프로그램 코드를 담고 있는 ConvertMonograms 클래스를 선언합니다. 이 클래스는 다음 작업을 수행합니다:
first와second변수를 char 타입으로 선언하고 각각 T와 F 값을 저장합니다.Character.toString()메서드로first변수의 내용을 문자열로 변환한 뒤, 새 문자열을first_string변수에 할당합니다.Character.toString()메서드로second변수의 내용을 문자열로 변환한 뒤, 새 값을second_string변수에 할당합니다.- "The first monogram letter is: "라는 문장과
first_string에 저장된 값을 콘솔에 출력합니다. - "The second monogram letter is: "라는 문장과
second_string변수에 저장된 값을 콘솔에 출력합니다.
간단히 말해, 이 프로그램은 문자 T와 F를 문자열로 변환한 것입니다.
valueOf() 메서드로 char를 문자열로 변환하기
Java의 String.valueOf() 메서드 역시 값을 문자열로 변환하는 데 사용됩니다. valueOf() 메서드도 매개변수를 하나 받으며, 이는 문자열로 변환할 값입니다.
valueOf()는 앞서 설명한 Character.toString() 메서드와 동일한 방식으로 동작합니다.
다시 재단사 가게 예제로 돌아가 보겠습니다. 이번에는 toString() 대신 valueOf() 메서드를 사용해 이니셜 문자를 char에서 문자열로 변환한다고 가정해 보겠습니다. 다음 코드로 이 목표를 달성할 수 있습니다:
class ConvertMonograms {
public static void main(String[] args) {
char first = 'T';
char second = 'F';
String first_string = String.valueOf(first);
String second_string = String.valueOf(second);
System.out.println("The first monogram letter is: " + first_string);
System.out.println("The second monogram letter is: " + second_string);
}
}
코드 실행 결과:
The first monogram letter is: T
The second monogram letter is: F
이 코드는 첫 번째 예제와 동일하게 동작합니다. 유일한 차이점은 char 값을 문자열로 변환할 때 Character.toString() 대신 String.valueOf()를 사용했다는 점입니다.
char 배열을 문자열로 변환하기
추가로, valueOf() 메서드는 char 배열을 문자열로 변환하는 데에도 사용할 수 있습니다.
예를 들어 고객 Tom Montgomery Peterson의 이니셜을 char 배열에 저장했고, 옷에 넣을 이니셜을 확인하기 위해 이를 하나의 문자열로 변환하고 싶다고 가정해 보겠습니다. 다음 코드를 사용하면 char 배열을 문자열로 변환할 수 있습니다:
class ConvertMonogramsToArray {
public static void main(String[] args) {
char[] initials = {'T', 'M', 'P'};
String monogram = String.valueOf(initials);
System.out.println("Monogram: " + monogram);
}
}
코드 실행 결과:
Monogram: TMP
코드를 분석해 보겠습니다. 먼저 예제 코드를 담는 ConvertMonogramsToArray 클래스를 선언합니다. 이 클래스는 다음 기능을 실행합니다:
- char 목록을 저장하는
initials변수를 선언합니다. String.valueOf()로initials의 내용을 문자열로 변환하고, 새 문자열을monogram변수에 할당합니다.- "Monogram: "이라는 문자열과 고객의 이니셜을 콘솔에 출력합니다.
마무리
Java에서 char를 문자열로 변환하는 것은 매우 흔한 작업입니다. toString()과 valueOf() 메서드 모두 char를 문자열로 변환하는 데 사용할 수 있습니다.
이 가이드에서는 toString()으로 char를 문자열로 변환하는 방법, valueOf()로 char를 문자열로 변환하는 방법, 그리고 valueOf()로 char 배열을 문자열로 변환하는 방법을 살펴보았습니다. 또한 각 메서드를 실제 Java 프로그램에서 활용하는 예제도 함께 다루었습니다.
이제 전문가처럼 Java에서 char를 문자열로 변환할 준비가 되었습니다!