Nastudujte si rozdíl mezi předáváním hodnotou a referencí. Hodnota je samotný údaj (třeba číslo), reference je jenom odkaz do paměti, kde je ta hodnota uložená. Kdyby se pole předávalo hodnotou, znamená to, že se musí celé pole zkopírovat – což by u velkého pole trvalo nějakou dobu a navíc byste potřeboval paměť pro dvě kopie pole. Když někam předáte referenci, zkopíruje se jenom a reference (odkaz do paměti, což je jen nějaké číslo). Pak ale máte dva (nebo více) odkazů na stejné místo paměti – a když v té paměti něco změníte, změní se ten údaj, ať se na tu paměť díváte přes kteroukoli referenci.