• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

val mutableListOf

22.06.06 01:32 작성 조회수 233

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)

    

}

김재민님의 프로필

김재민

질문자

2022.06.09

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

넵 그렇게 이해해주시면 될 것 같습니다 :)