function distance(Planet from, Planet dist) { // 処理 } $distance = distance(Planet::MERCURY, Planet::VENUS); メソッドの仕様がコードをみるだけで⼀⽬瞭然 型が縛られるため、Planetで定義した要素以外渡ってこない(安全) コードはいかにその仕様や概念を読み⼿に伝えるかが重要 定数によって管理されているそれはどこまで⾏っても数値や⽂字列でしかない Enumを使うことで意味・概念をそのまま表現できる 他にも、返却値をbooleanや定数ではなく、Enumで表現したり⾊々便利 14