コンパイル必要云々もあるけどフィールドは実装、プロパティはインターフェースってことだろう(概念的に

publicフィールドは構造体なら許されてもいい気がするんだけど
まあ一貫性がないから駄目なんだろうね