일곱 번째, 문자입니다.
문자는 Char 타입으로 나타냅니다. 문자 타입은 말 그대로 하나의 문자를 나타내며, 문자 리터럴은 '1' 같이 작은 따옴표로 묶습니다.
JVM에서 문자는 16비트 유니코드로 표현되는 char 원시 타입에 저장됩니다.
특수 문자는 이스케이프 시키는 역슬래시로 시작합니다. 다음과 같은 특수 문자를 위한 이스케이스 시퀀스를 지원합니다.
- \t - 탭
- \b - 백스페이스
- \n - 새로운 줄(new line. LF)
- \r - 캐리지 리턴 (CR)
- \' - 작은 따옴표
- \" - 큰 따옴표
- \\ - 역슬래시
- \$ - 달러 기호
이 외에 다른 문자를 인코딩하기 위해서는, ' \uFF00' 같은 유니코드 이스케이스 시퀀스 형태를 사용합니다.
fun main() {
val aChar: Char = 'a'
println(aChar)
println('\n') // 새로운 줄(newline) 문자 출력. 이를 통해 줄바꿈이 됩니다.
println('\uFF00') // 유니코드 FF00은 코드 값에 해당하는 정의된 문자가 없기 때문에 아무 것도 출력되지 않습니다.
}
이스케이프 문자(Escape character)
이스케이프 문자는 해당 문자 뒤에 오는 문자를 다른 의미로 해석하게 해 주는 문자입니다. 보통 역슬래시가 많이 사용됩니다.
이스케이프 문자가 붙은 문자 형태(예: \n, \uFF00)를 이스케이프 문자가 붙은 연속체라 하여 이스케이프 시퀀스라고 부릅니다.
탈출을 의미하는 이스케이프라는 단어를 사용한 것은 '\''나 "\"" 같이 문자나 문자열을 표시하는 따옴표를 내부에 사용하기 위해 탈출시킨다는 의미에서 비롯된게 아닌가 하는 생각이 듭니다.
탈출 문자라고 번역하는 경우도 있는 거 같습니다만, 본 연재에서는 이스케이프라고 얘기하도록 하겠습니다.
Char 변수의 값이 숫자인 경우, digitToInt() 메소드를 사용하여 Int 타입 숫자로 변환할 수 있습니다.
JVM에서 널 가능한 참조가 필요한 경우 문자 타입은 자바 래퍼 클래스(java.lang.Character)로 박싱화 됩니다.
'Kotlin' 카테고리의 다른 글
공식 문서로 배우는 코틀린 - 9. Basic Types - Arrays (1) | 2024.03.05 |
---|---|
공식 문서로 배우는 코틀린 - 8. Basic Types - Strings (0) | 2024.03.02 |
공식 문서로 배우는 Kotlin - 6. Basic Types - Booleans (0) | 2024.03.02 |
공식 문서로 배우는 Kotlin - 5. Basic Types - Unsigned integer types (0) | 2024.03.01 |
공식 문서로 배우는 Kotlin - 4. Basic Types - Numbers (0) | 2024.03.01 |