kotlin

【Kotlin】列挙型とは?概念や使い方を徹底解説!

こんにちは、テルプロです!

「列挙型(Enum)の使い方がわからない」とお悩みではないでしょうか?

テルプロ

本記事ではそんな悩みを解決していきます!

列挙型とは

  1. 複数の定数を1つのクラスとしてまとめられるもの
  2. インスタンス化することはできない

列挙型を理解する上で、押さえておくべきポイントは上記の2点のみです。

では、詳しく解説していきます!

基本的な使い方

簡単解説

今回は「季節の英単語を日本語に翻訳したい場合」を例に挙げます。

列挙型は複数の定数を1つにできます。
今回は「spring, summer, autumn, winter」の4つを列挙型Seasonにまとめます。

列挙型は、今回の例のように複数の定数を1つのクラスとしてまとめたい際に用います。

では、実際の使用例を用いて解説していきます!

使用例

fun main() {
    // 引数[season]の値を列挙型[Season]の[spring]に指定している
    printSeason(Season.SPRING)
}

// 複数の定数を1つのクラスとしてまとめている
enum class Season {
    SPRING, SUMMER, AUTUMN, WINTER
}

// 引数[season]の値によって処理を変えている
fun printSeason(season: Season) {
    when (season) {
        Season.SPRING -> println("春")
        Season.SUMMER -> println("夏")
        Season.AUTUMN -> println("秋")
        Season.WINTER -> println("冬")
    }
}

// 出力結果 春

簡単解説

上記は、季節の英単語を日本語に翻訳するプログラムです。

enum class Seasonが列挙型です。
例のように「enum」を classの前につけることで列挙型を宣言しています。
列挙型「Season」には、翻訳したい英語の単語を格納しています。
このとき「SPRING, SUMMER, AUTUMN, WINTER」のように各定数を“,”カンマ区切りにしています。

このSeasonを使用する場合は『Season.SPRING』のように『列挙型名.定数』として使用します。
printSeasonメソッドで春夏秋冬の判定をおこなって、翻訳しています。

printSeasonメソッドに引数[season]の定数を翻訳したい英単語するだけで翻訳されます。

以上が、列挙型の基本的な使い方です。

まとめ

今回は【列挙型】の概念や使い方を徹底解説しました。

列挙型は、複数の定数を一つのクラスにまとめる際に使用されます。Kotlinの文法を正確に理解し、開発の可能性を広げましょう。

最後までご覧いただきありがとうございました。ではまた!

参考文献
ABOUT ME
テルプロ
東京都在住のアプリエンジニア。大学では、ソフトウェア開発の研究に取り組む。長期のエンジニアインターンシップを経て、実務スキルを磨き、現在はフリーランスエンジニアとしても活動中。メインはモバイルアプリ開発。IT関連の記事監修も行い、技術の共有と普及に励んでいます。 監修実績(レバテックフリーランス
Flutter関連の書籍を出版しました!