Uknow's Lab.
article thumbnail

 

코틀린의 기본 자료형(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를 사용한 비교도 지원합니다)

profile

Uknow's Lab.

@유노 Uknow

인생은 Byte와 Double 사이 Char다. 아무말이나 해봤습니다.