なら、privateの変数をpublicで直接読み出そうとするからだろ。
確かこういう場合は読み取りメソッドを挟まないと駄目でそ?