728x90
변수 선언
변수 키워드
- val : value의 줄임말, 할당되면 바꿀 수 없는 변수 (java의 final)
- var : variable의 줄임말, 할당 후 값을 바꿀 수 있는 변수
val data1 = 10;
var data2 = 10;
fun main() {
println(data1)
println(data2)
}
data 1은 val로 선언하고 data2는 var로 선언 후 print 해보았다.
두 값 모두 이상 없이 출력되는 것을 확인할 수 있었다.
val은 할당 후 값이 변경될 수 없지만 한 번 값을 변경해 보았다.
val data1 = 10;
var data2 = 10;
fun main() {
data1 = 20;
data2 = 20;
println(data1)
println(data2)
}
실행시킨 결과
val은 값을 변경할 수 없으니 키워드를 var로 변경하라는 안내 문구가 뜨게 되었고, 실행시키자 val cannot be reassigned라는 에러가 발생하였다.
타입 지정과 타입 추론
변수명 뒤에 콜론(:)을 추가하여 타입을 명시할 수 있다. 코틀린은 자바와 달리 타입을 명시하지 않아도 대입하는 값에 따라 타입을 유추할 수 있으므로 타입 추론이 가능할 경우 생략한다.
val number01 = 10;
var number02:Int = 20;
괜히 타입을 지정했다가 다른 타입을 지정하게 되면 오류가 발생하니 주의해서 값을 대입해야 한다.
초기값 할당
최상위에 선언한 변수, 클래스 멤버 변수는 선언과 동시에 초기값을 할당해야 한다. 함수 내부에 선언한 변수는 나중에 할당할 수 있다.
초기화 미루기
lateinit 키워드를 사용하면 초깃값 할당을 이후로 미룰 수 있다.
var 키워드로 선언한 변수에만 사용할 수 있으며, Int, Long, Double, Float, Boolean, Byte 타입에는 사용할 수 없다.
lateinit var number: Int // Error!
lateinit val word01: String // Error!
lateinit var word02: String // Success!
반응형
'Server > Kotlin' 카테고리의 다른 글
[Kotlin] 프로젝트 생성 & Hello Kotlin (0) | 2022.10.06 |
---|