엄격한 null 안전성과 스마트 형 변환을 지원하는 코틀린의 형식 시스템을 확인하며, JVM(Java Virtual Machine) 환경에 추가된 새로운 연산자와 자바에 비해 개선된 여러 특징이 있음.
val
(baluable) : 읽기만 가능한 final 변수
var
(variable) : 읽기/쓰기가 가능한 일반 변수 ( 타입이 고정되면 타입이 바뀌지는 않음 )
String Template
fun main(){
val c : Int
c = 3 // 지연 할당도 가능(But 타입을 무조건 지정해줘야함
val name = "Haeun"
val lastName = "Lee"
println("my name is ${name + lastName} I'm 22")
println("my name is ${"$name $lastName"} I'm 22")
println("Is this ture? ${1 == 0}")
// 백슬래시를 붙이면 $를 그냥 문자로 인식
println("This is 2\\$")
}
val list = mutableListOf("a","b","c")
list = mutableListOf("b","d") // 오류
list.remove("a") //리스트 내용 수정 가능, val 키워드가 원본 객체까지 불변으로 만드는 것은 아니다.
val stringValue:String = "my string"
val stringValue = "my string" // Type 생략 가능
var intArr:Array<Int> = arrayOf(1,2,3,4,5)
var intArr = arrayOf(1,2,3,4,5) // Type 생략 가능