C나 TS에서는 단순 constants정도의 의미였다면
Java는 바이트코드레벨에서 각 enum요소들을 싱글톤 클래스로 변환해주는 일종의 신택스 슈거역할을 하고
swift, rust같은 모던언어에서는 애초부터 enum을 그렇게 쓸것으로 고려하고 내주네
enum이 클래스일 때, 자체적으로 상태나 연산을 가질 수 있어서 좋은것은 맞긴한데..
이런패턴이 유망하긴한가봐?
생각해보니 Class는 only one 케이스에서 AND연산에서 유리하지만
Enum은 OR 연산에서 강력하긴하겠네.
앱이 복잡해지고 케이스바이 케이스가 많아지니까 이런 유틸들이 당연하게 생겨나는구나
근데 왜 TS enum은 그따구야.
댓글 0