var
var는 variable이란 의미로 한국어로 하면 '변하기 쉬운' 이라는 뜻을 가지고 있으며 변수를 선언할때 쓰는 키워드이다.
기본자료형 혹은 객체 참조 모두 var를 사용하여 변수에 할당 가능하다. var로 선언된 변수는 값을 변경할 수 있다.
변수를 선언할때, 타입을 같이 작성할 수도 있고 변수타입을 작성하지 않았다면 타입추론(type inference)로 상황에 따
라변수의 타입이 지정된다.
fun main() {
var strNumber:String = "1" // 문자열 1
var number:Int = 1 // 숫자(Int) 1
var typeStrNumber = "1" // 문자열 1
var typeNumber = 1 // 숫자 1
println(strNumber+typeNumber) // 출력 : 11
println(typeStrNumber+typeStrNumber) // 출력 : 11
println(typeStrNumber+typeNumber) // 출력 : 11
println(number+typeNumber) // 출력 : 2
println(typeNumber+typeNumber) // 출력 : 2
}
var varNumber = 18
fun main() {
println(varNumber) //출력 : 18
varNumber = 29
println(varNumber) //출력 : 29
var LeeShin = person("리 신", varNumber) // 리 신 , 29세
println(LeeShin) //출력 : var.person@30c7da1e
println(LeeShin.name) //출력 : 리 신
println(LeeShin.age) //출력 : 29
LeeShin.kick() //출력 : 이크!
}
class person(var name: String, var age: Int) {
fun kick() {
println("이크!")
}
}
val
val 은 value의 의미가 있고 val을 사용한 변수는 문맥상 단 한번만 초기화 할 수 있다.
그러하기 때문에 한번 변수에 값을 할당하면 이후에 변경이 불가능하다.
val valnumber = 1 //값이 지정된 상태
fun main() {
val valnumber2: Int // 값이 지정되지 않은 상태
println(valnumber) // 출력 : 1
println(valnumber2) //Kotlin: Variable 'valnumber2' must be initialized 오류
valnumber2 = 4 // 출력 : 4
println(valnumber2) //Kotlin: Variable 'valnumber2' must be initialized 오류
valnumber = 2 // Kotlin: Val cannot be reassigned 컴파일 오류
val sum = sumNumber() // 출력 : 2
println(sum) // 출력 : kotlin.Unit
sum = 2 // Kotlin: Val cannot be reassigned 컴파일 오류
}
fun sumNumber() {
println(valnumber + valnumber)
}
const val
const val 은 변경 불가능한 상수를 정의 하는 것이다.
const는 컴파일 시점에서 값이 할당되어 진다 그말은 함수나 클래스 생성자로 할당 될 수 없다.
그리기때문에 기본자료형만 할당 할 수 있다.
const val constnum = 1
const val constval = sumNumber()
fun main() {
println(constnum) // 출력 : 1
println(constval) // Kotlin: Const 'val' has type 'Unit'. Only primitives and String are allowed 오류
}
'Kotlin' 카테고리의 다른 글
[Kotlin] contentToString을 알아보자 (2) | 2022.09.29 |
---|---|
[Kotlin] JoinTo 를 알아보자 (0) | 2022.09.28 |