Java Character 래퍼 클래스: Char 객체 마스터하기
일반적으로 문자를 다룰 때 기본 데이터 타입 char를 사용합니다.
예제
char ch = 'a';
// 대문자 그리스 오메가 문자의 유니코드
char uniChar = '\u039A';
// char 배열
char[] charArray ={ 'a', 'b', 'c', 'd', 'e' };
그러나 개발 과정에서 기본 데이터 타입 대신 객체를 사용해야 하는 상황을 마주칩니다. 이를 위해 Java는 기본 데이터 타입 char에 대한 래퍼 클래스 Character를 제공합니다.
Character 클래스는 문자를 조작하는 데 유용한 여러 클래스(정적) 메서드를 제공합니다. Character 생성자로 Character 객체를 생성할 수 있습니다:
Character ch = new Character('a');
Java 컴파일러는 특정 상황에서 자동으로 Character 객체를 생성해줍니다. 예를 들어 기본 char를 객체를 기대하는 메서드에 전달하면 컴파일러가 자동으로 char를 Character로 변환합니다. 이 기능을 오토박싱이라 하며, 반대 방향은 언박싱입니다.
예제
// 다음 기본 char 'a'가
// Character 객체 ch로 박싱됨
Character ch = 'a';
// 기본 'x'가 메서드 test용으로 박싱되고,
// 반환값은 char 'c'로 언박싱됨
char c = test('x');
이스케이프 시퀀스
백슬래시(\)로 시작하는 문자는 이스케이프 시퀀스이며 컴파일러에게 특별한 의미를 가집니다.
개행 문자(\n)는 이 튜토리얼에서 System.out.println() 문에서 문자열 출력 후 다음 줄로 넘어가기 위해 자주 사용되었습니다.
다음 표는 Java 이스케이프 시퀀스들을 보여줍니다:
| 이스케이프 시퀀스 |
설명 |
| \t | 이 지점에 탭 삽입 |
| \b | 이 지점에 백스페이스 삽입 |
| \n | 이 지점에 개행 삽입 |
| \r | 이 지점에 캐리지 리턴 삽입 |
| \f | 이 지점에 폼피드 삽입 |
| \' | 이 지점에 작은따옴표 문자 삽입 |
| \" | 이 지점에 큰따옴표 문자 삽입 |
| \\ | 이 지점에 백슬래시 문자 삽입 |
출력문에서 이스케이프 시퀀스를 만나면 컴파일러가 적절히 해석합니다.
예제
따옴표 안에 따옴표를 넣으려면 내부 따옴표에 이스케이프 시퀀스 \"를 사용해야 합니다:
Live Demo
public class Test {
public static void main(String args[]) {
System.out.println("She said \"Hello!\" to me.");
}
}
이 코드는 다음 결과를 생성합니다:
출력
She said "Hello!" to me.
Character 메서드
Character 클래스의 모든 서브클래스가 구현하는 중요한 인스턴스 메서드 목록입니다:
| 번호 |
메서드 & 설명 |
| 1 | isLetter() - 지정된 char 값이 문자인지 판별 |
| 2 | isDigit() - 지정된 char 값이 숫자인지 판별 |
| 3 | isWhitespace() - 지정된 char 값이 공백인지 판별 |
| 4 | isUpperCase() - 지정된 char 값이 대문자인지 판별 |
| 5 | isLowerCase() - 지정된 char 값이 소문자인지 판별 |
| 6 | toUpperCase() - 지정된 char 값의 대문자 형태 반환 |
| 7 | toLowerCase() - 지정된 char 값의 소문자 형태 반환 |
| 8 | toString() - 지정된 문자 값을 나타내는 String 객체 반환(한 글자 문자열) |
전체 메서드 목록은 java.lang.Character API 명세를 참조하세요.
다음 단계
다음 섹션에서는 Java의 String 클래스를 다룹니다. String을 효율적으로 선언하고 사용하는 방법과 String 클래스의 중요한 메서드들을 배우게 됩니다.