Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

자바 Character(문자) 클래스 완벽 정리 – 주요 메서드와 사용 예제

자바의 Character 클래스는 기본(primitive) 타입인 char 값을 객체 형태로 감싸는 래퍼(Wrapper) 클래스입니다. Character 객체는 내부에 char 타입의 필드 하나를 포함하고 있으며, 이를 통해 문자와 관련된 다양한 유틸리티 기능을 활용할 수 있습니다.

Character 클래스의 주요 메서드

Character 클래스는 문자 검사, 변환, 코드 포인트 처리 등을 위한 다양한 정적(static) 및 인스턴스 메서드를 제공합니다. 대표적인 메서드는 다음과 같습니다.

반환 타입메서드 및 설명
static intcharCount(int codePoint)
지정된 코드 포인트(code point)를 표현하는 데 필요한 char 값의 개수를 반환합니다.
charcharValue()
해당 Character 객체가 감싸고 있는 char 값을 반환합니다.
static intcodePointAt(char[] a, int index)
char 배열에서 주어진 인덱스 위치의 코드 포인트를 반환합니다.
static intcodePointAt(char[] a, int index, int limit)
char 배열에서 주어진 인덱스의 코드 포인트를 반환하되, limit보다 작은 인덱스의 배열 요소만 사용할 수 있습니다.
static intcodePointAt(CharSequence seq, int index)
CharSequence에서 주어진 인덱스 위치의 코드 포인트를 반환합니다.
static intcodePointBefore(char[] a, int index)
char 배열에서 주어진 인덱스 바로 앞 위치의 코드 포인트를 반환합니다.

예제 1: isLetter() 메서드 활용

isLetter() 메서드는 전달된 문자가 알파벳 글자(letter)인지 여부를 판별합니다. 아래 예제를 살펴보겠습니다.

import java.lang.*;
public class Demo {
    public static void main(String[] args){
        System.out.println(Character.isLetter('0'));
        System.out.println(Character.isLetter('h'));
        System.out.println(Character.isLetter('K'));
    }
}

실행 결과

false
true
true

숫자 '0'은 글자가 아니므로 false가 출력되고, 소문자 'h'와 대문자 'K'는 알파벳 글자이므로 true가 출력됩니다.

예제 2: isLetter()와 toString() 함께 사용

이번에는 toString() 메서드를 추가로 활용한 예제입니다. toString()은 char 값을 문자열(String) 형태로 변환하여 반환합니다.

import java.lang.*;
public class Demo {
    public static void main(String[] args){
        System.out.println(Character.isLetter('0'));
        System.out.println(Character.isLetter('h'));
        System.out.println(Character.isLetter('K'));
        System.out.println(Character.toString('0'));
        System.out.println(Character.toString('H'));
    }
}

실행 결과

false
true
true
0
H

정리

Character 클래스는 단순히 char 값을 객체로 감싸는 것을 넘어, 문자 판별(isLetter, isDigit 등), 변환(toString, toUpperCase 등), 유니코드 코드 포인트 처리(codePointAt, charCount 등)까지 폭넓은 기능을 제공합니다. 문자열 처리 로직을 작성할 때 이러한 메서드들을 적절히 활용하면 더욱 안전하고 가독성 높은 코드를 작성할 수 있습니다.