こんばんは。
Rubyのガベージコレクション(GC)は、プログラムが使わなくなったオブジェクトを自動的に回収し、メモリを解放する仕組みです。
これにより、開発者が明示的にメモリ管理を行う必要がなく、安心してコードを書けるようになっています。
基本的な方式は「マーク&スイープ」です。
まず、プログラム内でまだ参照されている“生きている”オブジェクトをマークし、それ以外の不要なオブジェクトを一括して掃除(スイープ)します。
これにより、使われていないメモリ領域が再利用可能になります。
さらに最近のRubyでは「世代別GC」が導入されています。
これはオブジェクトを「若い世代」と「古い世代」に分けて管理し、短期間で不要になるオブジェクトは頻繁に回収し、長く使われるオブジェクトはあまり触らないようにする仕組みです。
こうすることで効率が上がり、プログラムの速度やメモリ使用量が改善されます。
要するにRubyのGCは、裏で自動的にメモリを片付けてくれる便利な仕組みであり、開発者はロジックに集中できるようになっています。