Java (자바)

자바의 자료형 - 문자형과 문자열 의문점

Oscar:) 2022. 1. 31. 20:14

지난 글에서 공부했던 문자형과 문자열에 대해 궁금증이 생기는 부분을 더 알아보자.

 

문자형 자료형 char는 문자를 사용하는데, 범위는 왜 숫자로 나와있을까?

문자형 자료형의 범위에 나와있는 숫자 (0~65,535)는 '유니코드'의 범위이다.

 

  • 유니코드란?

전 세계의 모든 문자를 다루도록 설계된 표준 문자 전산 처리 방식으로 정의한다.

 

모든 문자를, 정해진 2byte로 표현할 수 있는 숫자로 변환한다.

여기서 말하는 숫자는 '각각의 문자가 정해진 코드값' 이라고 이해하면 쉽다.

유니코드를 역으로 이용한 문자형 표현

위 그림에서 볼 수 있듯이, 문자형 char의 값에 숫자를 입력하면

그 숫자에 해당하는 (숫자에 지정되어 있는) 유니코드 문자가 출력된다.

(65번은 알파벳 A, 33번은 ! 라고 확인할 수 있다.)

 

문자형과 문자열을 사용할 때, '' 와 "" 를 구분하는 이유는?

이전 글에서, char는 ''(작은따옴표)를 사용하고

String은 ""(큰따옴표)를 사용한다고 배웠다.

 

그들을 구분하는 이유는, 자바 프로그램이

''(작은따옴표) 안의 문자는 유니코드로 변환 가능할 때만 실행되도록 설계되었기 때문이다.

 

즉, 문자열은 유니코드가 인식하지 못하기 때문에 ""(큰따옴표)로 구분하였다.