상세 컨텐츠

본문 제목

Kotlin 기초(변수)

Kotlin

by 잘구운토스트 2019. 6. 4. 18:50

본문

#변수

 

기본적인 변수 선언은 다음과 같다.

1
2
3
4
5
6
// 변수
val num1: Int = 30 // 타입선언 (읽기전용)
var string: String = "40" // 타입선언 (변수 변환)
// 타입 생략 가능
val num2 = 30    // 값에 따라 변경 (읽기전용)
var string2 = "40"    // 값에 따라 변경 (변수 변환)
cs

kotlin은 java와 다르게 자동으로 초기화가 되지 않아, 변수 선언 시 초기화는 필수로 기입해야 한다.

(함수 내에선 초기화를 안 해도 사용할 수 있다.)

 

1
2
3
4
5
val strA = "A"
var strB = "B"
 
strA = "C"    // (X) 읽기전용으로 변경이 불가능하다.
strB = "D"    // (O) var은 값 변경 가능
cs

val로 선언된 변수는 java의 final과 같아보이지만 조금 다르다.

java의 final은 값 수정이 안되지만 kotlin은 아래와 같이 변경이 가능하다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
val strA = "A"
    get() {
        return if (strB == "B")
            field    // strA의 값
        else
            "C"
    }
 
var strB = "B"
 
fun main() {
    println("--- strA : " + strA)
    strB = "D"
    println("- value change : strB = " + strB)
    println("--- strA : " + strA)
}
cs

 

코드 실행 결과

 

 

#null

 

kotlin은 변수 선언 시 null을 대입할 수 없으며, 사용해야 할 경우 변수 타입 뒤에 '?'를 추가하면 null 대입이 가능하다.

1
2
// null 대입 가능 변수
var string: String? = null
cs

 

#상수

 

kotlin에서의 상수 선언은 const로 한다.

1
2
3
// 상수
const val INT_VALUE: Int = 1234
const val STRING_VALUE = "STR"    // 타입생략
cs

const는 class 내에선 선언할 수 없다.

 

 

댓글 영역