enumが列挙型だからと言われてもピンとこない
enumは列挙定数を表現するために使用されることが多く、その定数はプログラム内で固定された値として利用される
新しいインスタンスを生成することができると、enumの特性を損なう可能性がある
そのため、enumのコンストラクタを暗黙的にプライベートにして、外部からのインスタンス化を禁止している
例えばこんなenumがあったとする
enum DayOfWeek {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
enumは列挙定数を表現するために使用されることが多く、その定数はプログラム内で> 固定された値として利用される
例のenumは曜日を表現するものであり、定数は固定された値である
新しいインスタンスを生成することができると、enumの特性を損なう可能性がある
もし新しいインスタンス(曜日)を生成できてしまうと困るよねということ
そのため、enumのコンストラクタを暗黙的にプライベートにして、外部からのインス> タンス化を禁止している
新しい謎曜日が増えてしまうことを防ぐためにもこうなっている