4.3 문자 타입 (char)
자바에서 글자 하나를 다루는 방법, char (Character) 타입에 대해 알아봅니다.
1. 글자 하나만 저장하기 (‘ ‘) 🔤
1) 개념
char는 딱 하나의 문자만 저장할 수 있는 타입입니다.
반드시 작은따옴표(' ')로 감싸야 합니다.
2) 비유: “레고 블록 한 개”
char가 레고 블록 한 개라면,String(문자열)은 블록이 여러 개 연결된 완성품입니다.- 블록 한 개(
char)는'A', 완성품(String)은"ABC"입니다.
3) 코드 예시
char grade = 'A'; // (O) 한 글자
char hangul = '가'; // (O) 한 글자
// char error = "A"; // (X) 큰따옴표 안 됨 (String)
// char error2 = 'AB'; // (X) 두 글자 안 됨
2. 컴퓨터가 문자를 기억하는 법 (Unicode) 🔢
1) 개념
컴퓨터는 사실 ‘글자’를 모릅니다. 오직 0과 1(숫자)만 알 뿐입니다. 그래서 전 세계 모든 글자에 고유한 번호를 붙여서 약속했습니다. 이것을 유니코드(Unicode)라고 합니다.
2) 저장 방식 시각화
graph LR
Input['A'] -->|저장| Memory(65)
Memory -->|출력| Output['A']
style Input fill:#fff,stroke:#333
style Memory fill:#bfb,stroke:#333
style Output fill:#fff,stroke:#333
- 우리가
'A'라고 입력하면 컴퓨터는65라는 숫자로 기억합니다. - 우리가
'가'라고 입력하면 컴퓨터는44032라는 숫자로 기억합니다.
3) 코드 확인
char c1 = 'A'; // 문자 'A' 저장
char c2 = 65; // 'A'의 유니코드 번호 65 저장
char c3 = '\u0041'; // 'A'의 16진수 유니코드 코드값 저장
System.out.println(c1); // A
System.out.println(c2); // A (똑같이 'A'가 출력됨)
System.out.println(c3); // A
3. 자주 하는 실수 ⚠️
1) 빈 문자 (Empty Character)
char 변수에는 아무것도 없는 빈 값('')을 넣을 수 없습니다. 최소한 공백(Space) 하나라도 있어야 합니다.
char c1 = ''; // (X) 에러 발생! (빈 문자 불가)
char c2 = ' '; // (O) 공백 문자 가능 (Space)
String s = ""; // (O) 문자열은 빈 값 가능
2) 문자 vs 문자열
| 타입 | 키워드 | 기호 | 예시 | 비유 |
|---|---|---|---|---|
| 문자 | char |
작은따옴표 ' ' |
'A' |
벽돌 1개 |
| 문자열 | String |
큰따옴표 " " |
"ABC" |
벽돌로 쌓은 벽 |
서브목차