他のメソッドやパッケージから呼び出されることがないのに
publicなのもおかしいといえばおかしいだろ
そういうこと言い出したらfinalizeはなんでVMが外部から呼ぶのにprotectedなのかとか
いろいろおかしいところはあると思うけど?