이넘의 존재의의는 ordinal한 것들을 묶어서 표현하기 위함이라 생각하는데, enum의 ordinal은 사용을 자제해야 한다고 한다. 본능적으로 알고 있긴 했지만, enumSet과 enumMap에서 사용되기 때문에 사용을 자제해야 한다는 것은 처음 알았다. 애초에 쓰지를 않아서 문서를 본 적이 없었던 것 같다.
이외에도 개발하는 입장에서 생각해보면 타입 세이프하게 사용할 수 있다는 장점이 있다. 만약 코드나 상수의 값이 단순하다면 특히 비교 연산에서 혼란을 가져 올 수 있다. 하지만 enum을 사용한다면 해당 타입들은 절대 같을 수 없을 것이다.
이외에도 enumSet과 enumMap이 있다는 것을 알았다. 속도가 훨씬 빠르다고 하는데, 쓸 일이 있을지 모르겠다. enum을 제대로 활용해 본 적이 없어서 그런 것일 수도 있겠다. 언제 활용해볼 수 있을지 생각해보는것도 좋을 것 같다.
Powered with by Gatsby 2.0