[Java]변수와 자료형 - 문자 자료형

나영원·2020년 8월 24일
0

Java_basic

목록 보기
4/60

문자자료형

문자자료형도 다른자료형과 같이 내부적으로 비트의 조합으로 저장을 하는데 각 문자의 특정한 숫자값을 부여하여 저장합니다.

각 문자를 저장 할 때 숫자화 하는 것을 '인코딩'이라고 하고 숫자화된 자료를 문자화 하는 것을 '디코딩' 이라고 합니다.

ex) 'A' -> 65, // 인코딩
65 -> 'A' // 디코딩

문자세트

문자세트는 문자를 어떤 숫자(코드값)으로 저장할 것인가를 정해놓은 세트입니다. ('A' -> 65 'B' ->66)

아스키는 문자를 1바이트로 표현하는 문자세트로 영어는 가능하지만 외국어는 적용이 어려운 문자세트입니다.

유니코드는그래서 나온 문자세트로 멀티바이트를 지원합니다. UTF-8 UTF-16이 대표적인 유니코드 문자세트 입니다.

public class CharTest {

	public static void main(String[] args) {

		char ch = 'A';
		
		System.out.println(ch); // A
		System.out.println((int)ch); // 65
		
		int iCh = 66;
		
		System.out.println(iCh); // 66
		System.out.println((char)iCh); //B
		
//		char ch2 = -66;

		char hangul = '\uAC00';
		System.out.println(hangul); // 가
	}

}

위에 코드에서 알 수 있듯이 ch(문자 자료형)는 (int)로 캐스팅할 시 숫자로 변환이 가능하고('A' => 65) 반대의 경우도 가능합니다(66 => 'B'). 문자 세트에서는 양수만 사용되기 때문에 -66같은 음수값은 문자 자료형에 들어갈 수 없습니다.

마지막 char hangul = '\uAc00'; 코드 처럼 유니코드를 직접 입력하여서 한글 문자를 출력할 수도 있습니다.(유니코드를 입력할때는 \u를 사용합니다.)

profile
배우는 개발 일기

0개의 댓글