콘텐츠로 이동

원시 데이터 타입

코틀린에서는 모든 변수에서 멤버 함수와 프로퍼티를 호출할 수 있습니다. 이 의미는 변수가 객체라는 것입니다.

일부 타입은 특별한 내부 표현식을 가질 수 있습니다.

코틀린은 때에 따라서 원시 타입이거나 참조 타입일 수 있습니다.

예를 들어 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


  1. 코틀린은 기본적으로 Null-Safety 타입이여서 null이 허용되지 않습니다. null이 될 수 있는 타입으로 변경하려면 타입 뒤에 ? 키워드를 명시해야 합니다. 

댓글