error message를 정의하던 도중 enum으로 정의하여 사용하면 더 편할 것 같아 base가 되는 enum class를 생성해서 extends로 상속받아서 사용하려고 했었다. 하지만 enum은 기본적으로 class에 Enum<T>
class를 extends로 상속받고 있기 때문에 추가적인 extends가 불가능하다...!
그렇기 때문에 interface로 정의하여서 implement 하여 사용하여야 하는데 interface에 대한 정의를 다시 생각하면 interface에는 변수를 사용할 수 없고 상수만 정의할 수 있다. 또한 메서드의 이름만 미리 정의해 놓을 수 있기 때문에 결론적으로 enum class의 base가 되는 부모 class를 정의하고자 한다면 interface로 상수나 메서드만 미리 정의해 놓을 수 있다는 것을 기억하자!
interface로 msg와 statusCode 값만 get()하는 공통 메서드만 정의하고 enum class로 상속받아 각 enum들의 변수는 자체적으로 정의하는 방향으로 개발