char는 기본형 타입에서 문자 타입으로 분리되었지만, 사실상 2 바이트의 정수이다.
그 이유는 단순한데, 실제 컴퓨터는 문자를 구별할 수 없다.
즉, 컴퓨터 안에는 모든 것이 숫자만으로 저장되는데 이는 사람과 컴퓨터가 언어를 교환하기 위해서 만들어진 코드로 해석된다.
대표적으로는 아스키코드(ASCII code)와 유니코드(unicode)가 있고,
char형 변수의 문자를 선언하게 되면, 해당 문자는 아스키코드의 규칙에 맞게
숫자로 치환이 되어 컴퓨터에 저장된다.
* 아스키코드(ASCII code)
1) 미국 표준 부호 체계로 영문자, 숫자, 특수 문자에 고유의 숫자를 부여한 것
2) 7비트의 조합으로 이루어져 총 128(2^7) 개를 사용
3) 영문자만 존재하여 한글과 타 언어는 표현 X
-> 이 점을 보완한 것이 유니코드(16비트)
'개념 창고 > JAVA' 카테고리의 다른 글
자바 메모리 영역(Method, Stack, Heap) (0) | 2023.01.17 |
---|---|
[Java] BigInteger 사용 이유, 형변환, 두 수 비교 (0) | 2022.12.21 |
char를 문자열로 변환하는 방법(3가지) (0) | 2022.12.08 |
[JAVA] 문자열의 위치 찾기 indexOf(), lastlndexOf() (0) | 2022.12.07 |
[JAVA] charAt() (0) | 2022.12.07 |