・オブジェクト型、プリミティブ型にかかわらず仮引数を書き換えても呼び出し側の実引数の値は変わらない。
・プリミティブ型はその値を、オブジェクト型はその参照の値(アドレスのようなもの)を、渡しているだけだから。
・ただしオブジェクト型の場合、中身を書き換えれば可変になる。(リストを渡して中身を追加みたいなことはできる。)

これだけ分かればそんなに深い話は分かんなくても理解できるだろ。