2.1.2 문자형
Java 언어에서 문자형은 char 예약어를 사용하며 값을 표현할 때 ‘a’ 처럼 단일 콤마 사이에 표현할 문자를 나타낼 수 있습니다.
C언어가 만들어질 때 미국 표준 문자인 ASCII Code로 문자를 표현하여서 한글이나 중국어 등과 같이 다른 문자 체계를 사용하는 표현이 힘들었는데 Java 언어에서는 다국어를 지원하기 위해 유니코드 방식을 채택하였습니다.
내부적으로 살펴보면 사용하는 문화권에 따라 0~65535 사이의 수에 특정 문자를 매핑하여 값을 기억하는 것인데 개발자 편의를 높이기 위해 단일 콤마 사이에 문자를 나타내어 표현할 수 있게 하였습니다. ‘a’처럼 특정 표현을 사용했을 때 약속한 고정 값으로 나타내는 것을 리터럴 상수라 말합니다.
개행 문자나 백 스페이스 등의 특수 문자를 표현하기 위해 약속한 리터럴도 있습니다.
리터럴 | 설명 |
‘\n’ | 개행(줄 바꿈) |
\t | 탭 |
\b | 백 스페이스 |
\\ | \ |
\’ | ‘ |
\” | “ |
[표 2.2] 리터럴
참고로 숫자 문자 ‘0’에서 ‘9’는 48(16진수 0x30)~57로 약속하였고 대문자는 65(0x41)부터 시작하고 소문자는 97(0x61)부터 시작합니다.
즉 Java 코드에서 ‘1’과 49, 0x31은 같은 값입니다.
private static void exChar() { System.out.println("char 형식"); char c = 0; c = 49; System.out.println("1. c의 값:"+c); c = 0x31; System.out.println("2. c의 값:"+c); c = '1'; System.out.println("3. c의 값:"+c); c = 65; System.out.println("4. c의 값:"+c); c = 0x41; System.out.println("5. c의 값:"+c); c = 'A'; System.out.println("6. c의 값:"+c); }
char 형식 1. c의 값:1 2. c의 값:1 3. c의 값:1 4. c의 값:A 5. c의 값:A 6. c의 값:A