인프런 커뮤니티 질문&답변
val mutableListOf
해결된 질문
작성
·
326
2
지금까지 공부한 것을 토대로, val은 불변형 변수를 선언하는 것으로 알고 있습니다. 근데, val로 선언한 mutableList에서 add() 함수를 이용해 값을 추가하는건 val로 선언한걸 무시하고, 그거 자체로 변수를 수정하는 것인데, 어떻게 가능 할 수 있는건가요?
답변 1
0
개복치개발자
지식공유자
안녕하세요 재민님
mutableList를 변경하는 것이 아니라 mutableList에 add 하는 형태로는 사용이 가능합니다.
아래의 코드를 보시면
mutableList1 = mutableList2 로 사용하는 것은 불가능하나
mutableList2 = mutableList1 로 사용하는 것은 가능합니다.
아래의 불가 부분을 직접 실행해보시겠어요?
fun main() = runBlocking {
val mutableList1 = mutableListOf<Int>()
mutableList1.add(1)
var mutableList2 = mutableListOf<Int>()
mutableList2.add(2)
println(mutableList2)
mutableList2 = mutableList1
// 불가 mutableList1 = mutableList2
println(mutableList2)
}






아 그렇다면, val 이라는 것은 그것을 가르키고 있는 대상이 바뀌는 것이 안된다는 의미? 로 볼 수 있을까요?