Enum : 형변환없이 바로 쓸 수 있음, 변수 이름 중복 불가능

Enum Class : 형변환하지 않으면 오류 발생, 변수 이름 중복 가능 

Namespace : 형변환 없어도 바로 쓸 수 있음, 변수 이름 중복 가능


Enum Class는 대체 왜 존재하는거임? Enum이랑 다르게 앞에 명시적 형변환 (int) 하나 하나 붙여야해서 가독성도 떨어지는데다 똑같은 기능인 네임스페이스 안에 Const int 박아놓는게 훨씬 쓰기 편하고 컴파일 속도 빼면 이점이 없는 것 같은데... 대체 왜? 마지막으로 리팩토링하면서 네임스페이스 + Const int로 밀어버리기 전에 혹시 내가 모르는 장점이 있는지 궁금하다