코틀린의 기본 자료형(Primmitive)의 타입은 자바와 동일합니다.
크게 숫자 / 문자 / 논리 자료형으로 나눌 수 있는데,
이미 자바의 자료형에 익숙하신 분들이라면, 본 파트는 넘기셔도 됩니다.
숫자 자료형 (정수)
Int
var age: Int = 3
var age2 = 13 // 자료형 생략 가능
Int형은 정수를 담는 자료형입니다. 소숫점이하의 값은 담을 수 없습니다.
Int형은 4바이트(32비트)로써, -2^31 ~ 2^31 - 1 반큼의 범위를 표현할 수 있습니다.
Long
var number: Long = 10000000000L // 접미사 L을 붙여 사용
var number2 = 10000000000L // L을 붙여 Long형임을 추론할 수 있으므로 자료형 생략 가능
Long은 Int와 같이 정수형을 표현할 때 쓰는 자료형입니다.
하지만 범위가 더 크며, 8바이트(64비트)로, -2 ^ 63 ~ 2 ^ 63 - 1 만큼위 범위를 표현할 수 있습니다.
Short
var shortNum: Short = 32767
short는 2바이트(16비트)로 -32768 ~ 32767 만큼의 범위를 가집니다.
Byte
var byteNum: Byte = 127
Byte는 1바이트(8비트)로, -128 ~ 127 범위를 표현할 수 있습니다.
Short과 Byte는 Int와 Long에 비하면 표현할 수 있는 범위가 매우 적은데요.
이들은 보통 최적화나 대량의 자료를 다룰 때 주로 쓰입니다.
IoT 기기와 같이 일반 PC/스마트폰에 비하면 메모리가 타이트한 경우에도 주로 쓰인다고 들었어요.
숫자 자료형 (실수)
var doubleNum: Double = 3.14
Double 형은 실수형을 담는 자료형입니다.
소수점 이하의 값을 포함할 수 있으며,
8바이트(64비트)로 -2^63 ~ 2^63 - 1 만큼의 범위를 가집니다.
var floatNum: Float = 3.14F // 접미사 F를 붙여 사용
Float 형도 실수형을 담는 자료형입니다.
소수점 이하의 값을 포함할 수 있으며, 4바이트(32비트)로 -2^31 ~ 2^31 - 1 만큼의 범위를 가집니다.
문자 자료형
Char
var letter: Char = 'A'
var korLetter: Char = '가' // 한글 한 글자도 가능
Char 형은 한 글자의 문자를 담는 자료형입니다.
따옴포(' ') 안에 한 글자만 담을 수 있습니다.
String
var text: String = "Hello, Kotlin!"
var text2 = "Hello again!"
String은 문자열을 담는 자료형입니다.
큰 따옴표(" ") 안에 여러 문자열을 담을 수 있습니다.
논리 자료형
val flag: Boolean = false
val flag2: Boolean = true
논리 자료형인 Boolean은 참 / 거짓 (true / false) 두 가지 상태만을 지원하는 자료형입니다.
타입간 변환
var n1 = 121
var n2 = num.toLong() // Int -> Long
var n3 = n2.toInt() // Long -> Int
var n4 = n1.toDouble() // Int -> Double
var n5 = n1.toFloat() // Int -> Float
val n6 = n4.toFloat() // Double -> Float
코틀린은 위와 같이,
(변수).to(변경하고자 하는 자료형)을 사용해 쉽게 변경할 수 있습니다.
다만, 범위가 큰 자료형에서 작은 자료형(ex> Long->Int)로 변환 시, 오버플로우/언더플로우를 조심해야 합니다.
부록. Kotlin에서 String 내 문자열 비교는 == 으로.
val text1 = "str1"
val text2 = "str1"
if(text1 == text2) {
println("Yes")
} else {
println("No")
}
val text3 = "str3"
val text4 = "str4"
if(text3 == text4) {
println("Yes")
} else {
println("No")
}
위 코드는 문자열을 비교하는 코드입니다.
자바와 다른 점을 보여주기 위한 부분이니,
처음보는 if문이 당황스러우시다면, 본 부록은 넘어가셔도 됩니다.
위에서 보다시피, 코틀린에서 두 String의 문자열 비교는 ==를 사용해 비교합니다.
str1.equals(str2)를 사용해야 했던 자바에 비하면 쉽고 간단하게 문자열의 내용을 비교할 수 있습니다.
(equals를 사용한 비교도 지원합니다)
'코틀린 파헤치기 > 1부. 코틀린 기초' 카테고리의 다른 글
[코파기 1부] 6. 코틀린과 null (.? !!. ?:) (0) | 2023.03.14 |
---|---|
[코파기 1부] 5. 코틀린과 조건문. 그리고 표현식 (0) | 2023.03.14 |
[코파기 1부] 4. 코틀린과 연산자 (0) | 2023.03.14 |
[코파기 1부] 3. 코틀린과 기본 입출력 (0) | 2023.03.14 |
[코파기 1부] 1. 코틀린과 변수선언 : val vs var (0) | 2023.03.14 |