[Kotlin] Enum Class

2023. 3. 14. 11:57· Development/Android
목차
  1. Enum Class
  2. With Interface
반응형

Enum Class

- 특정 상태를 지정하는 상수들을 클래스 내부에 고유 값으로 만들어 사용

- 소스코드의 가독성을 높이는데 기여한다.

- 상수 값의 타입 안전성을 보장한다.

enum class EnumTest {
    Naver,
    Google,
    Yahoo,
    Daum
}

fun getPortalType(s : String) {
    when (s) {
        "naver" -> EnumTest.Naver
        "google" -> EnumTest.Google
        "yahoo" -> EnumTest.Yahoo
        else -> EnumTest.Daum
    }
}

- 각 열거 자료형은 enum 클래스의 인스턴스이기 때문에 다음과 같이 초기화가 가능하다.

enum class Color(val rgb: Int, val colorName: String) {
    RED(0xFF0000, "red"),
    GREEN(0x00FF00, "green"),
    BLUE(0x0000FF, "blue")
}

 

With Interface

- 다음과 같이 인터페이스 상속을 통해서도 enum class 선언이 가능하다.

enum class GetLanguage(s: String) : Languages {
    JAVA("java") {
        override fun getLang(): String = "JAVA"
    },
    KOTLIN("kotlin") {
        override fun getLang(): String = "KOTLIN"
    },
    PYTHON("python") {
        override fun getLang(): String = "PYTHON"
    }
}
반응형
저작자표시 (새창열림)
  1. Enum Class
  2. With Interface
'Development/Android' 카테고리의 다른 글
  • [Android / Kotlin] What's Moshi??
  • [Kotlin] Sealed Class
  • [Kotlin] Singleton Pattern
  • [Android / Kotlin] Chrome Custom Tab Service
SeungYong.Lee
SeungYong.Lee
반응형
SeungYong.Lee
Win-Dev
SeungYong.Lee
전체
오늘
어제
  • All (223) N
    • Development (124) N
      • Android (120) N
      • iOS (0)
      • Flutter (4)
      • Backend (0)
    • Algorithm (5)
    • Knowledge (4)
      • IT (2)
      • Science (0)
      • ETC & Tip (2)
    • Today I Learn (28)
    • Coding Test (62)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 안녕하세요. 반갑습니다 :)

인기 글

태그

  • Animation
  • 프로그래머스
  • hilt
  • compose
  • DI
  • 코틀린
  • Retrofit
  • Java
  • dfs
  • Kotlin
  • Collection
  • 코딩테스트
  • Flutter
  • Widget
  • exception
  • HTTP
  • coroutine
  • Android
  • Imageview
  • 비동기처리

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
SeungYong.Lee
[Kotlin] Enum Class
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.