대머리개발자

enum class 굳잡! 본문

개발이야기/코틀린

enum class 굳잡!

대머리개발자 2023. 10. 25. 22:01
728x90

지금까지 잘 쓰지 않았다. 앞으로도 그닥?? 활용을 할 필요성은....

누군가의 블로그에 사용된것을 보고.. 곰곰히 생각을 해보았다..

 

열거형 상수를 쓰면 클린코드와 약간의 성능개선(?) 등.. 나쁘지 않은데??

 

 

보통의 경우 DB 데이터의 Value는 코드로 들어간다.   

예를 들어 문서의 상태를 관리하는 컬럼은 D(elete), 임시 저장은 T(temp), 등록상태는 A(ctive) 등등..

...
@Column(name = "status")
var status:EntityStatus = EntityStatus.ACTIVE
...

enum class EntityStatus {
    ACTIVE, TEMP, DELETE
}

코드상에서 더욱 명시적으로 볼 수 있을 뿐더러 DB값으로 숫자로 적재된다.... 띠용!!

 

제일 중요한 이유는 다른 데이터가 들어 갈 수 있는 것도 방지해준다. ㅎㅎ 요건 블로깅하다 보니.. 생각났다.

 

단순하게 상수값 나래비하는것보다... 확실히 이득이다.!!

    companion object {
        const val STATUS_ACTIVE = "A"
        const val STATUS_DELETE = "D"
        const val STATUS_TEMP = "T"
    }

 

728x90