Kotlin 함수에서 매개변수의 특징

조회수 1033회

코틀린 책의 내용 중 일부

함수의 매개변수를 선언할 때는 var이나 val 키워드를 붙이지 않으며 
매개변수는 무조건 val로 선언되므로 값을 수정할 수 없다.

라고 서술이 되어있더라구요.

class Product {
    var price : Int = 2000
    var productName : String = "Apple"
}


fun increasePrice(product : Product){
    product.price += 500;
}

위 소스코드에서 increasePrice라는 함수에서 매개변수인 product의 price를 수정하고 있는데 서술된 내용과 충돌이 있는데 제가 어디서 이해를 잘못한 것일까요 ?

끼워서 이해를 해보자면 val인 것은 product이므로 product를 다른 객체로 변경한 것이 아니므로 수정하지 않은 것에 해당되며, 우리가 수정한건 정확히는 product의 price이니깐 상관없는건가요 ?

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)