자료형
코틀린의 정수형 또는 실수형을 선언하여 사용을 할 경우, 같은 정수나 실수를 표현하더라도 여러 종류의 자료형이 존재하기 때문에 사용 용도에 따라 자료형을 지정하여 사용해야 합니다. 일반적으로 정수의 경우 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 입니다.
'언어(Language) > Kotlin' 카테고리의 다른 글
[Kotlin] 코틀린 var과 val 이해하기 (1) | 2023.10.22 |
---|---|
[Kotlin] 코틀린이란 무엇이며, 왜 필요한가? - Kotlin In Action (0) | 2023.09.06 |
[Kotlin] 3. 코틀린의 NULL 처리 방법 (Nullable과 Non-Null, Safe Call, Null Safety, 엘비스 연산자 등) (0) | 2022.08.17 |
[Kotlin] 2-1. 코틀린의 자료형과 변수 선언 (자료형의 종류 및 변수 선언 방법과 규칙) (0) | 2022.07.11 |
[Kotlin] 1. 코틀린이란 무엇일까? (코틀린의 특징 및 개발 환경 구축) (0) | 2022.06.27 |