Enum型のコンストラクタは必ずprivateでなければなりません。 これは、Enumが定数の集合を表現するために設計されているためです。 Enumのインスタンスは、あらかじめ定義された定数のみであり、外部から新たにインスタンスを生成することはできません。 これにより、Enumの一貫性と安全性が保たれ、定数が意図しない方法で変更されることを防ぎます。