안드로이드를 코틀린으로 개발하다가 보면, var와 val을 보게 되는데, 얘를 대충 알고 넘어가는 경우가 많은데 얘네들이 뭔지 한번 보고 가겠습니다.
간단하게 val에 대한 코드를 보시면
val value = "여기는 value입니다" 라고 변수를 넣을 수 있고
val value2 : String = "여기는 val" 이라고 변수 타입을 명시할 수 있습니다.

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fun main(args: Array<String>) { | |
// val 변수 선언 | |
val value = "여기는 value입니다" | |
//val 변수 선언(타입 명시) | |
val value2 : String = "여기는 val" | |
// 변경 불가 | |
value = "변수 변경 불가?" | |
} | |
그런데 마지막 value에 값을 변경하려고 했는데, 아래에 빨간불이 뜹니다.
이와 같이 val에서는 선언한 값을 변경해줄 수 없습니다.
그렇다면 var의 값은 다른가? 라고 해서 보면 아래와 같이 val -> var로 바꿔봤습니다.

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fun main(args: Array<String>) { | |
// val 변수 선언 | |
var value = "여기는 var 입니다" | |
//val 변수 선언(타입 명시) | |
var value2 : String = "여기는 var" | |
// 변경 불가 | |
value = "변수 변경 불가?" | |
} |
이렇게 하면 빨간줄 없이 잘 되는 것을 볼 수 있습니다.
그러면 다 var로 해서 만들면은 되지 왜 구지 val를 쓰는가? 에 대한 의문이 생길 수 있는데 이 경우에는 코틀린에서 lazy와 lateinit이라는 것을 사용할 때에 따라 다릅니다.
'Android(Kotlin)' 카테고리의 다른 글
Android kotlin Fragment (0) | 2020.12.14 |
---|---|
Kotlin 느낌표 물음표 비교 (0) | 2020.12.14 |
Android Kotlin Custom Dialog(팝업) (0) | 2020.12.14 |
Android Log찍기, TAG달기 (0) | 2020.12.14 |
Android Kotlin ImageSlider(PagerAdapter) (0) | 2020.12.14 |