언어(Language)/Kotlin

[Kotlin] 2-2. 코틀린의 정수형과 실수형 및 출력 방법

잇트루 2022. 7. 26. 19:35
반응형

자료형

코틀린의 정수형 또는 실수형을 선언하여 사용을 할 경우, 같은 정수나 실수를 표현하더라도 여러 종류의 자료형이 존재하기 때문에 사용 용도에 따라 자료형을 지정하여 사용해야 합니다. 일반적으로 정수의 경우 Int형, 실수의 경우 Double형을 사용하지만, 작은 범위의 수를 사용하여 메모리를 절약한다거나 Int형의 범위보다 큰 수를 사용해야 할 경우 가능한 자료형을 사용해야 하기 때문입니다.

 

정수형

자료형 크기 범위
Byte 1Byte -128 ~ 127
Short 2Byte -32768 ~ 32767
Int 4Byte -2147483648 ~ 2147483647
Long 8Byte -9223372036854775808 ~ 9223372036854775807
UByte 1Byte 0 ~ 255
UShort 2Byte 0 ~ 65535
UInt 4Byte 0 ~ 4294967295
ULong 8Byte 0 ~ 18446744073709551615

 

실수형

자료형 크기 범위
Float 4Byte 1.4E-45 ~ 3.4028235E38
Double 8Byte 4.9E-324 ~ 1.7976931348623157E308

 

그 외 자료형

자료형 설명
Boolean 논리 자료형으로 true 또는 false를 반환함
Char 문자 자료형으로 작은 따옴표('') 사이 한 글자를 저장함 ex)'a', '가', '1' 등
String 문자열 자료형으로 큰 따옴표("") 사이의 문자들을 저장함 ex)"abcd", "가나다라", "1234" 등

 

자료형 자동 추론

코틀린 언어에서는 자바와 파이썬의 언어와 유사한 기능인 자료형을 자동적으로 추론하여 지정해주는 기능이 있습니다.  또한, 코틀린의 경우 특정 조건에 따라 자료형을 생략하여 변수를 선언하여 사용할 수도 있습니다. 정수를 선언할 때 자료형을 생략하면 기본적으로 Int형으로 추론하여 지정하지만, Int형의 범위를 벗어나는 크거나 작은 수를 사용할 경우 자동으로 Long형으로 추론합니다.

val number1: Int = 127 // 일반적인 변수 선언 방법

val number2 = 127 // Int형으로 자동 추론
val number3 = -127 // Int형으로 자동 추론
val number4 = 2147483647 // Int형으로 자동 추론
val number5 = 9223372036854775807 // Long형으로 자동 추론

 

접미사 또는 접두사 사용

접미사 또는 접두사를 사용하여 변수의 표현이나 자료형을 지정하는 방법도 존재합니다.

정수의 값 뒤에 L을 붙여 Long형으로 자료형을 지정할 수도 있고, 접두사를 붙여 16진수, 2진수 등과 같은 다른 표기도 가능합니다.

val number = 123 // Int형으로 자동 추론
val number2 = 123L // 접미사 L을 사용하여 Long형으로 추론
val number3 = 0x0F // 접두사 0x를 사용하여 16진수 표기법의 Int형으로 추론
val number4 = 0b00001111 // 접두사 0b를 사용하여 2진수 표기법의 Int형으로 추론

 

하지만 Byte, Short와 같이 범위가 작은 값을 표현하기 위해서는 명시적으로 자료형을 지정해주어야 합니다.

val number1: Byte = 127 // Byte형으로 지정
val number2: Short = 32767 // Short형으로 지정

val number3 = 127 // Int형으로 자동 추론(Byte형 X)
val number4 = 32767 // Int형으로 자동 추론(Short형 X)

 

부호가 없는 정수 표현

부호가 없는 양의 정수를 표현하기 위해서는 조금 더 특별한 방법을 사용합니다.

val unumber1 = 123u // 부호가 없는 UInt형으로 자동 추론

val unumber2: UInt = 123u // 부호가 없는 UInt형
val unumber3: UByte = 123u // 부호가 없는 UByte형
val unumber4: UShort = 123u // 부호가 없는 UShort형
val unumber5: ULong = 123u // 부호가 없는 ULong형

 

수를 읽기 쉽게 표현하는 방법

만약 수가 매우 크거나, 2진수, 16진수 등 한 번에 알아보기 힘든 수를 선언할 경우 알아보기 쉽도록 언더바(_)를 사용하여 표현할 수 있습니다.

// val number = 1000000과 같은 결과
val number = 1_000_000

// val longNum = 1234123412341234L과 같은 결과
val longNum = 1234_1234_1234_1234L

// val hexValue = 0xABCDEF12와 같은 결과
val hexValue = 0xAB_CD_EF_12

// val byteNum = 0b00001111과 같은 결과
val byteNum = 0b0000_1111

 

실수형 표현

val number1: Double = 3.14 // Double형 지정
val number2 = 3.14 // Double형으로 자동 추론

val number3: Float = 3.14F // Float형 지정
val number4 = 3.14F // 접미사 F를 사용하여 Float형으로 추론

 

출력

선언한 변수를 사용하여 결괏값을 나타낼 때 이를 출력하기 위해 print() 함수와 println() 함수를 사용합니다. println() 함수는 출력문 끝에 개행 문자(\n)를 붙여 출력하는 것으로, 어떤 결과를 연속적으로 출력할 때 이를 구분하는데 유용하게 사용됩니다.

fun main() {
    var a = 1
    var b = 2
    
    println(a)
    println(b)
    
    print(a)
    print(b)
}

결과

1
2
12

 

문자열을 포함한 변수 출력

"변수 a는 1입니다."와 같이 문자열을 포함하여 변수 값을 출력하기 위해서는 "$" 문자를 사용하여 출력합니다.

fun main() {
    val a = 123
    val b = -987
    
    println("변수 a는 $a 입니다.")
    println("변수 b는 $b 입니다.")
}

결과

변수 a는 123 입니다.
변수 b는 -987 입니다.
반응형