카테고리 없음

enum class 를 string 타입으로 사용

코드닭 2024. 5. 13. 20:31

name : enum 클래스에서 정의된 타입을 String 형태로 사용하는 함수

enum class CourseApplicationStatus {
    PENDING,
    ACCEPTED,
    REJECTED
}

 

위처럼 enum 클래스를 정의해 놓고 인스턴트화한 변수에 .name 을 붙여오면 String 형태로 변환해 초기화한다

fun CourseApplication.toResponse(): CourseApplicationResponse {
    return CourseApplicationResponse(
        id = id!!,
        course = course.toResponse(),
        user = user.toResponse(),
        status = status.name
    )

 

status 는 CourseApplicationResponse 에서 String 타입으로 정의 되어 있는데 

오른쪽의 status.name 은 CourseApplicationStatus 에서 정의된 이넘 클래스의 status를 나타낸다

만약 .name 을 통해 String타입으로 변환하지 않았다면 컴파일 오류가 날 수 있다