enum, interface, class

최준호·2021년 12월 10일
0

업무

목록 보기
1/31

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들의 변수는 자체적으로 정의하는 방향으로 개발

profile
코딩을 깔끔하게 하고 싶어하는 초보 개발자 (편하게 글을 쓰기위해 반말체를 사용하고 있습니다! 양해 부탁드려요!) 현재 KakaoVX 근무중입니다!

0개의 댓글