더북(TheBook)

2.2.1 정수 타입

코틀린에는 정수를 표현하는 네 가지 기본 타입이 있다(표 2-2).

▼ 표 2-2 정수 타입

이름

크기(바이트)

범위

대응하는 자바 타입

Byte

1

-128 .. 127

Byte

Short

2

-32768 .. 32767

Short

Int

4

-231 .. 231-1

Int

Long

8

-263 .. 263-1

Long

어떤 정수 타입 값을 표현하는 가장 간단한 리터럴은 10진수다.

val n = 12345

코틀린 1.1부터는 자바 7+와 마찬가지로 수 리터럴에 _를 넣어서 가독성을 높일 수 있다. 리터럴이 아주 큰 수를 나타낼 때 _가 유용하다.

val n = 34_721_189

리터럴 자체의 타입은 그 수를 2진수로 표현했을 때의 크기에 따라 Int일 수도 있고 Long일 수도 있다. 하지만 범위만 맞으면 수 리터럴을 크기가 더 작은 타입의 변수에 대입해도 된다.

val one: Byte = 1                                // OK
val tooBigForShort: Short = 100_000              // Error: too big for Short
val million = 1_000_000                          // OK: Int로 타입이 추론됨
val tooBigForInt: Int = 10_000_000_000           // Error: too big for Int
val tenBillions = 10_000_000_000                 // OK: Long으로 타입이 추론됨
val tooBigForLong = 10_000_000_000_000_000_000   // Error: too big for Long
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.