본문 바로가기

프로그래밍/Java 프로그래밍

자바의 정수형 타입과 char 타입

char 타입

하나의 문자를 작은따옴표(')로 감싼 것을 문자리터럴이라고 합니다. 문자 리터럴은 유니코드로 변환되어 저장됩니다. 유니코드는 세계각국의 문자를 2byte로 표현할 수 있는 숫자(0 ~ 65535)로 매핑한 국제 표준 규약입니다. 자바는 이러한 유니코드를 저장할 수 있도록 2byte크기인 char 타입을 제공합니다.


char var1 = 'A';    // 유니코드: 65

char var2 = 'B';    // 유니코드: 66

char var3 = '가';   // 유니코드: 44032

char var4 = '각';   // 유니코드: 44033


여기서 약간 혼동이 올 수도 있는데 char타입은 사실 정수형 변수입니다. 그래서 작은따옴표로 감싼 문자가 아닌 숫자로 값을 저장해도 유니코드로 저장됩니다. 예를 들면 다음과 같습니다.


char c = 65;        // 10진수  --> 'A'

char c = 0x0041;  // 16진수  --> 'A'




위의 예제에서 c1, c2, c3는 모두 대문자 'A'입니다. 그리고 c4, c5, c6는 모두 '가'입니다. 이렇듯 char에 저장할 수 있는 방법은 여러가지가 있습니다.

위의 경우에 16진수로 저장하는 경우에 '\u'를 사용해서 유니코드 형태로 저장했지만 작은따옴표를 제거하고 0x0041로 저장할 수도 있습니다. 일반적으로 작은따옴표를 이용해서 값을 저장하지만 가끔은 10진수나 16진수를 이용해서 저장하는 경우도 있습니다.  유니코드를 다 외울 수는 없지만 많이 쓰는 ASCII코드정도는 알아두는 것이 좋습니다. 그리고 char 타입은 정수형이기때문에 더하기와 빼기가 가능합니다. 예를 들어, 'A' + 1은 'B'가 됩니다.

'프로그래밍 > Java 프로그래밍' 카테고리의 다른 글

자바의 실수형과 논리형 변수  (0) 2020.06.21
자바의 문자열 타입과 String 타입  (0) 2020.06.20
long 타입  (0) 2020.06.18
byte 타입 변수  (0) 2020.06.17
변수 기본타입  (0) 2020.06.16