[코틀린 Kotlin] 변수 및 데이터 타입

val과 var


코틀린에서는 초기화되면 값을 변경할 수 없는 불변 변수와 얼마든지 변경가능 한 가변 변수 두가지 형태의 변수가 존재합니다. 불변 변수의 키워드는 val이고, 가변 변수의 키워드는 var입니다. 

 

  • 불변 변수 (상수) 키워드 val
  • 가변 변수 키워드 var
val a: Int = 5
val b = 10
val c: Int
var d: Int = 0

여기서 변수 a,b,c는 불변 변수입니다. d는 가변 변수 입니다. 코틀린의 경우 변수 b 처럼 타입지정을 해주지 않아도  컴파일러가 알아서 타입을 추론하여 처리 합니다. b의 경우는 Int로 처리 하겠네요.

 

기본 데이터 타입 (Primitive)


  8비트 16비트 32비트 64비트
정수 Byte Short Int Long
실수     Float Double
문자   Char    
부울값 boolean      

 

자바와는 다르게 코틀린에서는 숫자 타입 간의 변환을 자동으로 해주지 않는다고 합니다.

val a = 100
val b: Long = a
val c: Long = a + 1L

 

위 와같은 경우에 변수 b의 경우 타입 불일치로 컴파일 에러가 발생합니다.  그러나 변수 c는 a + 1L을 처리할 때 컴파일러가 결과를 Long 타입으로 추론해 주기 때문에 오류가 발생하지 않습니다. 

 

기본 타입의 리터럴은 다음과 같이 나타냅니다.

 

  • Long 타입 : L이며 대문자만 가능합니다. 1000L
  • Float타입 : F 또는 f로 나타냅니다. 123.7F, 0.234f
  • 16진수 : 앞에 0x 혹은 0X를 붙힙니다. 

 

문자열 타입


문자열 타입은 String으로 나타냅니다. 

 

val s = "가나다라마바사\n아자차카파타하"

" " 안에 원하는 문자열 값을 넣어 주면됩니다. 그리고 줄바꿈을 나타내는 \n과 같은 이스케이프 시퀀스 문자를 포함시킬 수 있습니다. 

 

val s = """
가나다라
마바사아
아자차카
파타하
"""

 

그리고 """를 사용하면, 왼쪽 여백과 줄바꿈이 모두 반영되어 입력한 그대로의 문자열이 출력됩니다. 왼쪽여백 없이 사용하고 싶다면 trimMargin()함수를 사용합니다.

 

또한 $ 기호를 사용하여 변수를 문자열에 더할 수 있습니다. 

val cnt = 77
val s1 = "cnt = $cnt"
val s2 = "$s1의 길이는 ${s1.length}"

s1의 결과는 cnt = 77이 되고, s2의 결과는 cnt = 77의 길이는 8이 됩니다.

댓글



Designed by JB FACTORY