자바는 모든 문자를 유니코드로 처리한다. 유니코드는 세계 각국의 문자들을 코드값으로 매핑한 국제 표준 규약이다. 유니코드는 하나의 문자에 대해 하나의 코드값을 부여한다. A 및 한글도 하나의 코드 값을 갖는다.
유니코드는 0 ~ 65535 범위의 2byte 크기를 가진 정수 값이다.
그 중 0 ~ 127 까지는 아스키 문자(특수 기호 및 영어 알파벳)가 할당되어 있고 44032 ~ 55203까지는 한글 11172자가 할당되어 있다.
자바는 하나의 유니코드를 저장하기 위해 2byte 크기인 char 타입을 제공한다.
char var = 'A'; -> 유니코드 0x0041 -> 2진수 00000000 01000001 이런 식으로.
각 문자에 대해 유니코드 값을 얻으려면 int값으로 받으면 된다.
예를 들어
char c = 'A'; 라고 하자.
이것을 int unic = c1;으로 받으면 유니코드 값이 들어가게 된다.
이것은 자동 타입변환이 일어나는 것이며 자동 타입변환은 프로그램 실행 도중에 자동적으로 타입 변환이 일어나는 것을 말한다.
그리고 자동 타입 변환은 작은 크기 타입이 큰 크기를 가지는 타입에 저장될 때 발생된다.
즉 int(4byte)는 char(2byte)보다 크기 때문에 자동 형변환이 일어난다.
강제 타입변환도 있다. 강제 타입변환은 큰 크기의 타입이 작은 타입의 값으로 들어갈때 일어나게 한다. 말 그대로 강제로 해준다.
int v = 'A';
char c = (char) v;
밑에 (char) 로 한 것이 강제로 변환해주는 방법이다
'java' 카테고리의 다른 글
자바 향상된 for문(foreach문) (0) | 2017.08.10 |
---|---|
자바 메모리 영역 (0) | 2017.08.10 |
자바 키보드 입력(키보드의 키, 키 코드), 엔터 코드 (0) | 2017.08.10 |
자바 동작 순서 (0) | 2017.08.08 |
자바의 특징 (0) | 2017.08.08 |