열거형 정적 메서드
열거형 정적 메서드 (Enumeration static methods)
열거형에 정적 메서드를 추가하는 방법을 다룹니다. 주로 대체 생성자(alternative constructor) 용도로 사용되는 정적 메서드의 예시를 살펴봅니다.
본문
Enum은 정적 메서드도 가질 수 있습니다. enum 자체의 정적 메서드 용도는 주로 대체 생성자(alternative constructor)입니다. 예를 들어:
<?php
enum Size
{
case Small;
case Medium;
case Large;
public static function fromLength(int $cm): self
{
return match (true) {
$cm < 50 => self::Small,
$cm < 100 => self::Medium,
default => self::Large,
};
}
}
var_dump(Size::fromLength(50));
정적 메서드는 public, private, protected가 될 수 있지만, 실질적으로는 상속이 허용되지 않으므로 private와 protected는 동등합니다.