Chandroid
Android Development Diary
Chandroid
전체 방문자
오늘
어제
  • 분류 전체보기
    • Today I Learned (TIL)
    • Android
      • Android Weekly
      • Android 13
      • Android Debug Bridge (ADB)
      • Library
      • View
      • Jetpack
      • Gist
    • Kotlin
      • Docs
      • Clean Code
    • Object-Oriented Programming
    • Etc
      • 정보처리기사 실기
      • 주절주절

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • DataBinding
  • Android 13
  • Solid
  • kotlin
  • GIST
  • Database
  • ADB
  • Today I Learned
  • Data classes
  • Android Debug Bridge
  • Extensions
  • Sealed classes
  • Realm
  • til
  • RecyclerView
  • OOP
  • customview
  • DiffUtil
  • Glide
  • Android
  • clean code
  • Agile Software
  • Kotlin Docs
  • MVVM
  • generics

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Chandroid

Android Development Diary

[Kotlin Docs] Enum classes
Kotlin/Docs

[Kotlin Docs] Enum classes

2022. 5. 17. 16:13

본 글은 https://kotlinlang.org/docs/home.html 를 기반으로 작성자 마음대로 번역한 글입니다.
오역 & 의역이 빈번하며 모든 질문 및 태클 환영합니다!
2022-05-17 기준으로 작성되었습니다.

enum 클래스의 가장 기본적인 사용사례는 타입에 안전한 열거형의 구현입니다.

 

 

각각의 enum 상수는 객체입니다. enum 상수는 쉼표로 구분됩니다.

 

각각의 enum은 enum 클래스의 인스턴스이기 때문에, 다음과 같이 초기화될 수 있습니다:

 

 


Anonymous classes

enum 상수는 기본 메소드 오버라이딩과 같이 대응하는 메소드를 가지고 그들의 익명 클래스를 선언할 수 있습니다.

 

 

enum 클래스가 멤버를 정의하는 경우, 세미콜론으로 멤버 정의와 상수 정의를 구분합니다.

 


Implementing interfaces in enum classes

enum 클래스는 인터페이스를 구현할 수 있지만(클래스에서 파생될 수는 없습니다.) 모든 항목에 인터페이스 멤버의 공통 구현을 제공하거나, 익명 클래스의 각 항목에 대해 개별 구현을 제공합니다. 구현하려는 인터페이스를 다음과 같이 enum 클래스의 선언에 추가하면 됩니다:

 

 


Working with enum constants

코틀린의 enum 클래스는 정의된 enum 상수의 리스트를 얻거나 이름으로 enum 상수를 얻을 수 있는 합성 메소드를 가집니다. 이러한 메소드들의 시그니쳐는 다음과 같습니다(enum 클래스의 이름이 EnumClass라고 가정합니다.):

 

 

valueOf() 메소드는 주어진 이름이 클래스에 정의된 enum 상수의 무엇과도 일치하지 않는다면 IllegalArgumentException을 발생시킵니다.

 

enumValues<T>()와  enumValueOf<T>() 함수를 사용하여 제네릭 방식으로 enum 클래스의 상수에 접근할 수 있습니다.

 

 

모든 enum 상수는 이름와 enum 클래스 선언에서의 위치를 포함하는 프로퍼티를 가집니다.

 

 

enum 상수는 Comparable↗ 인터페이스를 구현하며, enum 클래스에서 선언된 순서가 기본적인 순서입니다.

 


https://kotlinlang.org/docs/enum-classes.html
 

Enum classes | Kotlin

 

kotlinlang.org

 

저작자표시 비영리 (새창열림)

'Kotlin > Docs' 카테고리의 다른 글

[Kotlin Docs] Nested and inner classes  (0) 2022.05.13
[Kotlin Docs] Generics: in, out, where  (0) 2022.05.04
[Kotlin Docs] Sealed classes  (0) 2022.04.08
[Kotlin Docs] Data classes  (0) 2022.04.07
[Kotlin Docs] Extensions  (0) 2022.04.07
    Chandroid
    Chandroid

    티스토리툴바