はい、Rubyではattrreaderを使うことで
読み取り専用の属性を定義できます。(˶ˊᵕˋ˵)⸝✩
たとえば、attrreader :nameと書くと
外部からuser.nameのように値を取得することは
できますが、user.name = 新しい名前のように
書き換えることはできません。
これは、外部から値を変更されたくないけど
中身は見せたい、というときに便利です。
書き込みも許可したい場合は
attr_accessorを使うと読み書き両方できるようになります。
ちょっとした工夫で、クラスの設計が
すっきりしますよ。