Kotlin 변수

변경 가능한 변수와 별견 불가능한 변수

val (value)

  • 변경이 불가능한 immutable 참조를 저장한 변수. 자바로 말하자면 final

var (variable)

  • 변경 가능한 참조. 자바의 일반변수

val 변수는 블록을 실행할때 정확히 한번만 초기화 해야 한다.

ex)

1
2
3
4
5
6
7
val mag : String
if(check()){
meg = "Succes"

}else{
msg ="Failed"
}

val참조 자체는 불변일지라도 그 참조가 가리키는 객체의 내부 값은 변경 될수 있다!

1
2
ex) val languages = arrayListOf("Eng")
languages.add("Korean")

var 키워드를 사용하면 변수의 값을 변경할수 잇지만 변수의 타입은 고정돼 바뀌지 않는다.

1
2
var answer =42
answer ="no answer"

위와같은 코드는 컴파일할수 없다.

코틀린은 컴파일시 타입추론을 한다. 자바와 마찬가지로 코틀린도 정적 타입 지정 언어(모든 프로그램 구성 요소의 타입을 컴파일 시점에 알수 있고 프로그램 안에서 객체의 필드나 메소드를 사용할때 마다 컴파일러가 타입을 검증)