원시 데이터 타입
코틀린에서는 모든 변수에서 멤버 함수와 프로퍼티를 호출할 수 있습니다. 이 의미는 변수가 객체라는 것입니다.
일부 타입은 특별한 내부 표현식을 가질 수 있습니다.
코틀린은 때에 따라서 원시 타입이거나 참조 타입일 수 있습니다.
예를 들어 number, character, boolean은 사용자에게 객체로 만들어지는 일반적인 클래스처럼 보일 수 있으나 런타임에는 때에 따라 원시 타입으로 표현될 수 있습니다.
원래 자바는 대문자로 시작하는 '참조 타입'과 소문자로 시작하는 '원시 타입'으로 구분됩니다. Integer와 Int는 실제로 다른 것이죠. 여기서 생기는 오해가 코틀린은 원시 타입에 Null이 가능한 것 아니냐는 것입니다. 실제로 코틀린은 Nullable1만 별도의 표기가 필요하며 참조 타입인지 원시 타입인지는 신경쓸 필요가 없도록 최적화를 해줍니다. 이러한 이유 때문에 때에 따라 원시 타입이거나 참조 타입일 수 있다는 말을 할 수 있는 것입니다.
Number¶
타입 | 크기 (bits) | 최소 값 | 최대 값 |
---|---|---|---|
Byte |
8 | -128 | 127 |
Short |
16 | -32768 | 32767 |
Int |
32 | -2,147,483,648 (-2^31) | 2,147,483,647 (2^31 - 1) |
Long |
64 | -9,223,372,036,854,775,808 (-2^63) | 9,223,372,036,854,775,807 (2^63 - 1) |
Boolean¶
Character¶
String¶
Array¶
-
코틀린은 기본적으로 Null-Safety 타입이여서 null이 허용되지 않습니다. null이 될 수 있는 타입으로 변경하려면 타입 뒤에
?
키워드를 명시해야 합니다. ↩