더북(TheBook)

2.3 원시 타입이 없음

코틀린에는 원시 타입(primitive type)이 없다. 최소한 프로그래머가 보는 관점에서는 그렇다. 그 대신에 코틀린은 내부에서 자바 원시 타입으로 계산을 빠르게 수행한다. 하지만 프로그래머는 오직 객체만 조작하게 된다. 32비트 정수를 표현하는 코틀린 객체 클래스는 자바 클래스와는 다르다. Integer 대신 코틀린에서는 Int를 쓴다. 다른 수 관련 타입이나 불 타입(Boolean)은 자바 타입과 이름이 같다. 그리고 자바와 마찬가지로 숫자 사이에 밑줄을 사용할 수 있다.

64비트 정수 타입(Long) 숫자 뒤에는 L을 붙이고, 기본 정밀도(single precision) 부동소수점 타입(Float) 숫자 뒤에는 F를 붙인다.

2배 정밀도(double precision) 부동소수점 타입(Double)의 숫자는 2.0이나 .9처럼 소수점(.)으로 정수와 구분한다.3

16진수 값은 맨 앞에 0x를 붙여야 한다. 예를 들면 다음과 같다.4

0xBE_24_1C_D3

2진수 앞에는 0b를 붙여야 한다. 예를 들면 다음과 같다.5

0b01101101_11001010_10010011_11110100

 

원시 타입이 없으므로 수나 불 값들로 이뤄진 컬렉션을 박싱(boxing)/언박싱(unboxing) 하기 위한 별도의 함수가 필요 없어서 프로그래밍이 더 단순해진다.

 

 


3 역주 자바와 달리 2.처럼 소수점으로만 끝나는 부동소수점 상수는 사용할 수 없다.

 

4 역주 0x0X 모두 가능하며, 각 자리에는 대문자 A~F뿐 아니라 소문자 a~f를 사용해도 된다.

 

5 역주 0b0B 모두 가능하다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.