rubyの文字列のコピーややこしいなって話

def func(s)
   s.gsub!("hoge","fuga")
end
s = "hoge"
puts s
 
s2 = s
func(s2)
puts s
 
出力結果
fuga
 
s2にオブジェクトsの参照が入るだけでなく、funcの中にも入り込むのか。