プロパティの方は、set時に値チェックをするもよし、内部状態を更新するもよし、get時に状況に応じて別のフィールドの値を返すもよし、例外を投げるもよし