코드를 입//코틀린 같은경우 클래스를 선언 하지 않고도 변수 선언 가능
//탑레벨에서 변수선언 가능 이러한 방식을 탑레벨에 위치한다라함
var x = 5
fun main(){
x+=1
println("x = ${x}")
val a : Int = 1;
//변수 생략가능
val b =1;
//지연할당 제공
val c : Int
c =3
// val d
// 지연할당 사용시 타입을 넣어주지 않으면 컴파일 에러
// d = 123
// val 값 없이 선언되었어도 지연할당으로 값이 들어감
val d : Int
d = 123
//val(value의 약자) 자바의 파이널 한 번 활당하면 값 변경이 불가능함
//var(variable의 약자) 가변변수라 값 변경 가능
val e : String ="Hello"
//e = "World" 재활당해서 컴파일에러
var f ="규하"
//정상 컴파일
f="최"
//컴파일 에러
// f=1123 var는 변수의 내용을 바꿀 순 있지만 위에서 처음 초기화된 값의 타입으로 가기 떄문에 타입변경은 불가능
코틀린은
가변변수나 불변 변수를 앞에 붙인다
그다음 변수 이름을 주고 등호로 변수의 값은 넣으면
자동으로 타입이 맞춰진다
ex
val d = "1은 문자입니다"
var a = 1
다른 방법으론 var or val를 넣고
변수를 선언한다음 : 를 붙이고 변수의 타입을 넣어준다음
등호를 넣고 값을 초기화한다
ex
var a : String = "문자입니다"
val b : Int = 1
자바와 다른점은 int를 다 소문자로 선언하는게 아니라
Int로 앞글자를 대문자로 해줘야한다