값을 저장하기 위한 저장공간이다.
코틀린에서는 변수를 선언할 때, 변경이 가능한 변수와 변경이 불가능한 변수로 나누어서 선언한다.
추가로, 코틀린은 자바와 달리 변수를 property (프로퍼티) 라고 한다.
코틀린에서 변수의 선언은 val과 var를 사용한다.
val
value의 약어, 변경 불가능(immutable)한 변수 (자바 - final에 해당한다.)
var
variable의 약어, 변경이 가능(mutable)한 변수 (자바 - 일반 변수와 같다.)
변수를 선언할 때 데이터 타입은 생략 가능하며, 값을 가지고 자료형을 자동으로 지정할 수 있다. 이것을 자료형 추론
이라고 한다.
코틀린은 레터런스 데이터 타입(Reference Data Type)을 사용한다.
Reference Data Type
이란 객체(메모리)를 생성하고 데이터를 할당하는 방식을 의미한다.
다마 참조형으로 생성된 객테는 컴파일 과정에서 기본형으로 대체되어 문제 없이 사용할 수 있다.
데이터 타입의 최상위 클래스로는 Any가 있다.
Long(64bits), Int(32bits), Short(16bits), Byte(8bits)
기본적으로 Int로 추론되며, 숫자 뒤에 L을 붙여주면 Long타입으로 추론한다.
작은 숫자 또한 Int로 추론되기 때문에 Short, Byte를 사용하기 위해서는 명시적으로 적어줘야 한다.
예시
val a = 1
Double(bits), Float(32)
실수형은 기본적으로 Double 타입으로 추론된다.
Boolean : true, false
리터럴은 작은따옴표 (') 사이에 문자를 넣으면 된다.
val alpha = 'h'
val a = 'r'
특수문자를 위해 이스케이프를 제공한다.
\t : tab
\b : 백스페이스
\n : 새 줄(다음 줄)
\r : 캐리지 리턴
\' : 작은따옴표, \" : 큰 따옴표
\\는 역 슬래쉬
\$ : 달러 표시
println(a + 5) //a보다 뒤에 있는 다섯 번째 글자인 f를 출력함.
println(h - a) // 'a'와 'h' 사이의 거리를 출력함 7
println(--h) //'h' 바로 앞 글자
println(++a) //'a' 바로 뒤 글자
리터럴은 큰따옴표(") 사이에 문자를 넣으면 된다.
fun main()
{
val name = "Hyereyong"
val lastname = "Ju"
println("My name is ${name + lastname}")
}
// 출력 결과 My name isHyereyongJu.