열거형 정적 메서드
열거형에는 정적 메서드도 있을 수 있습니다. 열거 자체에서 정적 메서드를 사용하는 것은 주로 대체 생성자를 위한 것입니다. 예:
<?php
enum Size
{
case Small;
case Medium;
case Large;
public static function fromLength(int $cm): static
{
return match(true) {
$cm < 50 => static::Small,
$cm < 100 => static::Medium,
default => static::Large,
};
}
}
?>
정적 메서드는 public, private 또는 protected일 수 있지만 실제로는 private 및 protected가 상속이 허용되지 않는 것과 동일합니다.