java.lang.Character 클래스

최근 항해99 기본 언어 주차 ->  프로그래밍 기초 주차 2일차를 보내고 있다. 나의 경우 달리기 반을 선택했는데, 해당 반은 프로그래머스 1단계 7문제 푸는 것을 기준으로 하고 있다. 그러다보니 하루종일 계속 문제를 풀게되고 추가적으로 백준 등에서도 오늘 풀면서 배운 부분들이나 가벼운 문제들을 추가적으로 풀면서 기존에 갖고 있던 자바 문법에 대한 지식이나 응용되는 부분들을 자연스럽게 상기시켜야 하는 경우들이 빈번했다.

 

그 중 문자열 요소들을 다양한 형태로 처리해야하는 경우도 많았다. 그러다보니 자연스레 String.toCharArray()를 빈번하게 사용했다. 그러던 중 같은 동료가 푼 알고리즘 풀이를 보고 Character Class라는 것이 있는 것을 알게 되어서 Java 11 Docs를 한번씩 훑어보면서 앞으로 충분히  쓸 일 수 있거나 기억해두고 기록해두면 좋을만한 몇 가지를 정리해두려고 한다.

 

 


Character Class?

- Character 클래스는 char의 값을 래핑한 래핑 클래스이며,char인 단일 필드를 포함한다. 
->클래스 단위로 래핑함으로서 char를 다루기 유용한 메서드을 지원.
- 문자의 범주(소문자, 숫자 등)를 결정하고 대/소문자 간 변환을 위한 정적 메서드를 제공합니다.

 

멤버필드?

static  int BYTES 부호 없는 이진 형식의 char 값을 나타내는 데 사용되는 바이트 수
static  char MAX_VALUE char형이 가질  수 있는 최대 수(65535)의 문자
static char MIN_VALUE char형이 가질  수 있는 최소 수(0)의 문자
private final char value Character 래퍼클래스 내부에 저장되는 char 값

 

메서드?

제어자 반환값 메서드명, 매개변수 설명
static  int compare​(char x, char y) 두 문자 값을 숫자형태(=아스키코드 값)로  비교
  int compareTo​(Character 
anotherCharacter)
두 Character 객체 내부에 저장된 char의 숫자 값으로 비교 (-1,0,1 반환)
static char MIN_VALUE char형이 가질  수 있는 최소 수(0)의 문자
static boolean isLowerCase​(char ch) 해당 문자가 소문자인지를 확인한다.
static boolean isLowerCase​(int codePoint) 위와 동일
static boolean isSpaceChar(char ch) 해당 문자가 공백문자인지를 확인한다.
static boolean isSpaceChar​(int codePoint) 위와 동일
static boolean isUpperCases(char ch) 해당 문자가 대문자인지를 확인한다.
static boolean isUpperCases(int codePoint) 위와 동일
  String toString() 문자열 형태로 변환
static String toString(char c) 위와 동일
static String toString(int codePoint) 위와 동일
static char toLowerCase(char ch) 영문자에 한하여 소문자로 변환
static int toLowerCase(int codePoint) 위와동일
static char toUpperCase(char ch) 영문자에 한하여 대문자로 변환
static int toUpperCase(int codePoint) 위와동일
static Character valueOf(char c) 지정된 char 값을 갖는 Character 인스턴스를 반환합니다.

 

다음과 같이 java 11 Docs를 보면서 충분히 사용할 것 같은 Character 래퍼 클래스에 대한 멤버들을 정리해봤다.
char 형은 기본적으로 컴퓨터 자체가 0,1 이진체계이기에 문자를 다루기 위해서 컴퓨터가 이해할 수 있는 숫자체계와  문자체계 사이에  1:1 매핑시켜서 컴퓨터가 이해할 때는 문자-> 숫자(디코딩) 문자형태로 사용되어질 경우는 저장되어 있는 숫자->문자(인코딩)하게 된다.