【Kotlin入門】初心者のためにenum(列挙型)の使い方を徹底解説


Kotlinでenumの使い方がよくわからない
そもそもenumってなんだろうか・・・

Kotlinでenumを使おうと思ってもなんだかよく使い方がわからなかったり、そもそもenumについてよくわかっていなかったりする人はいませんか?

こんにちは!エンジニアのかいです。Kotlinをこれから始めようとしている人、もしくは始めたての人であればプログラミングの基本であるenumについて悩んでいる人もいますよね。

そこで本日はKotlin初心者の方を対象にenumの様々な使い方からそもそもenumとはなんだろうか、という点についてわかりやすく解説していきます。

この記事はこんな人のために書きました。

  • Kotlinでenumを使いこなしたい
  • メソッドを定義してみたりしたい
  • enumとは、という基礎から学びたい

Kotlin enumとは

それでは、いきなりenumの書き方を説明して行く前にまずは、enumとはそもそもどんなものなのだろうかという点について解説していきます。

enumとは別名列挙型などとも呼ばれ、定数を列挙する場合などに使われます。中で定義されたものは列挙子などと呼ばれますね。

enumを使うメリットもここで紹介したいところですが、基本的な使い方を学んだ上での方がメリットが理解しやすいと思うので使い方を説明後最終章で解説していきます。

enumの使い方

それでは実際の使い方をみていきましょう。

このように、enum classで指定してやると、列挙型クラスとして認識されます。.列挙子としてやることでその値が取り出せていますね。

enumをfor文で回す

次はfor文を使ってみましょう。

ここでのミソは.values()というメソッドを利用することで、クラスのvalueが取得できます。この時点では返り値はArray<EnumClass>なのでfor文で回せば全ての値が取得できますね。

メソッドを定義してみよう

さて、次はenumクラス内でメソッドを定義してみましょう。

このように、抽象メソッドをオーバーライドしてあげることで、定数値ごとに振る舞いを変えることができます。ちなみによりKotlin的には以下のように書きます。

だいぶスッキリしましたね。

引数をもたせてみよう

KotlinのEnumの定数値にはパラメータを持たすことができます。各定数値にIDというパラメータを付与してみます。

このように引数にもたせることによって付随するパラメータを与えることができます。以下のように複数設定することも可能です。

enumを使うメリット

さて、ここまで一通りenumの使い方をみてきましたが、実際にenumを使うと何が良いのかということについても補足しておきます。

まず第一のメリットは安全性が高まるということですね。つまり、あらかじめ決まった定数をまとめてセットしておくことでそれ以外が指定されることを防ぎプログラムが予想外の動作をすることを防げます。

あとは、利用する時にどんな引数が取れるか明確にわかるので可読性が高く、利用しやすいですね。また、ただ定数をまとめるだけでなく様々なパラメータを持たせることができたり、メソッドが定義できたりもするので拡張の幅も広いです。

まとめ

一般に開発をしているとenumを実際に利用している例をみることは少ないかもしれませんが、適切に使えると実はとても便利なenumですのでこれを機にマスターして実際に使ってみてください!

それでは!!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

かい

かい

日向徹かこよすぎか

[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説