kotlin

[코틀린] 자료형과 변수

LimeCoding 2022. 7. 27. 14:50

변수


코틀린에서 변수를 선언할 때는 var과 val 키워드를 이용한다. val은 value를, var은 variable을 나타내는 말이다. 이 두 키워드는 C에서는 볼 수 없는 키워드인데 var같은 경우는 우리가 흔히 알고 있는 변수의 역할을 하며, val은 초기에 값이 할당되면 참조만 가능한, 마치 C의 심볼릭 상수같은 느낌이다.

 

var val
variable의 줄임말
값의 변경을 허용함
value의 줄임말
초기값 할당 이후 참조만 가능

 

변수 선언은 다음과 같은 구조로 이루어진다.

val value: Int = 5

여기서 val은 앞서 말한 변수를 선언하는 키워드이고, value는 변수의 이름, Int는 자료형이다. var 또한 같은 방식으로 선언한다. 이 형태가 코틀린에서 변수를 선언하는 기본적인 방법이다. 그러나 변수를 선언하는 방법은 이것말고도 다른 방법이 있다.

 

var name = "String"

위와 비교해서 달라진 점은 변수 이름 뒤에 자료형이 없다는 점이다. 코틀린에서는 할당되는 값의 자료형에 맞추어 변수도 같은 자료형으로 지정한다. 하지만 값을 할당하지 않는 경우에는 반드시 자료형을 명시해 주어야 한다. 이는 컴퓨터가 메모리에 값을 배정하는 문제와 관련이 있다. (궁금하면 컴퓨터 구조 과목을 찾아보길 바란다.)

 

 

자료형


코틀린의 자료형은 자바나 C와 다르게 기본형을 사용하지 않고 참조형 자료형을 사용한다. 기본형 자료형은 int, float과 같이 언어에서 기본적으로 제공하는, 말 그대로 기본적인 자료형이다. 그런데 코틀린은 자료형을 객체로 생성하고 이 객체를 찾아가는 방식으로 작동한다. 그러면 기본 자료형은 바로 저장하는 형태이고 참조형은 객체를 생성하고 저장하니까 느리지 않느냐는 궁금증이 생긴다. 하지만 절대 느리지 않다. 작성할 때는 참조형으로 작성하지만 컴파일 과정에서 모두 기본형으로 바꿔준다.

기본 자료형과 참조형 자료형

코틀린의 자료형은 다음과 같다.

부호가 있는 경우 정수 Long, Int, Short, Byte  
실수 Double, Float Float은 숫자뒤에 'F'를 붙여야 함.
F가 없으면 Long으로 인식
부호가 없는 경우 정수 ULong, UInt, UShort, UByte 부호가 없으면 var num = 123u와 같이 'u'를 붙여줘야 함
실수 UDouble, UFloat
문자 문자 Char  
문자열 String  
불리언 불리언 Boolean  

 

코틀린에서 지원하는 재미있는 기능중 하나가 바로 '_'이다. 숫자를 다룰 때 언더스코어를 이용하여 숫자 자리수를 구분할 수 있다.

var nuber: Int = 1_000

 

'kotlin' 카테고리의 다른 글

[코틀린] is, as 키워드  (0) 2022.07.27
[코틀린]NULL값 다루기  (0) 2022.07.27
[코틀린] 패키지란 무엇인가?  (0) 2022.07.27
코틀린이란?  (0) 2022.01.31
코틀린으로 Hello world를 찍어보자  (0) 2022.01.31