Kotlinで定数を定義する方法!変更されない変数の書き方と命名ルール
生徒
「Kotlinでは、途中で変わらない値を保存したいときはどうするんですか?」
先生
「とても良い質問ですね。Kotlinでは、途中で変わらない値は定数という形で定義します。定数は、一度決めた値を変更できない特徴があります。」
生徒
「定数って何ですか?変数とどう違うんですか?」
先生
「では、Kotlinの定数の意味と使い方を順番に見ていきましょう。」
1. 定数とは?
定数とは、プログラムの中で決して変わらない値のことです。たとえば「円周率は3.14」や「曜日の数は7」のように、途中で意味が変わらない情報を指します。定数にしておくと、うっかり上書きしてバグになるのを防げて、コードを読む人にも「ここは固定の値なんだ」と一目で伝えられます。
まずは“変わらない値”という感覚をつかみましょう。次のサンプルは、アプリ名を固定して表示するだけのシンプルな例です。途中で書き換えようとするとエラーになるため、安全に扱えます。
// 「変わらない値」の例
const val APP_NAME = "MyShop" // アプリ名は固定しておく
fun main() {
println("Welcome to $APP_NAME")
// APP_NAME = "YourShop" // ← ここを外すとコンパイルエラー(変更できない)
}
このように、意味が決まっていて将来も変えない値を定数として表現すると、意図が明確になり、メンテナンスもしやすくなります。数字や文字列を“ラベル化”しておくイメージで使いましょう。
2. Kotlinで定数を定義する方法
Kotlinでは、constというキーワードを使って定数を作ります。定数はvalとも組み合わせて使うので、覚えやすいですね。具体的な書き方を見てみましょう。
const val PI = 3.14
const val DAYS_IN_WEEK = 7
このように、const valを使うことで、定数として扱われ、途中で値を変えようとするとエラーになります。
3. 定数の命名ルール
Kotlinで定数を作るときは、大文字とアンダースコアを使うのが一般的なルールです。スネークケース(SNAKE_CASE)と呼ばれる書き方で、定数であることが見てすぐ分かります。
- 例1:
PI - 例2:
DAYS_IN_WEEK - 例3:
MAX_SCORE
こうしておくと、定数と変数の区別がつきやすくなり、プログラムが見やすくなります。
4. valとの違いを知ろう
Kotlinにはvalというキーワードもあります。これは一度だけ代入できる変数を作るときに使います。valで作った変数は途中で値を変えられませんが、const valはもっと強い「定数」としての役割があります。
valはプログラムが動いているときに決まる値も使えます。const valはプログラムが作られる前から決まっている値だけを使います。
つまり、定数にしたい値は必ずconst valを使いましょう。
5. Kotlinの定数を使うサンプルコード
では、実際にKotlinで定数を定義して使う例を見てみましょう。
const val TAX_RATE = 0.1
fun main() {
val price = 1000
val tax = price * TAX_RATE
println("税金: $tax")
}
このプログラムでは、TAX_RATEを定数として使っています。途中でTAX_RATEを書き換えようとするとエラーになります。
6. 定数のメリット
定数を使うと、次のようなメリットがあります。
- 間違って書き換えるのを防げる。
- 値が決まっていることをすぐに見分けられる。
- プログラムが読みやすくなる。
例えば、税率や曜日の数など「いつも同じ値」は定数にすると便利です。
7. 定数名の例え話
定数は「変わらないラベル」のようなものです。例えば、家にある「玄関の鍵」の場所はいつも同じですね。それを「玄関鍵の場所はここ!」と決めておくのが定数です。プログラムでも同じように、いつも同じ値を決めておくことで、わかりやすさがアップします。
8. 定数にするか変数にするか迷ったら
最後に、定数にするか変数にするか迷ったときは、途中で変わらないかどうかを基準にするといいです。例えば、りんごの個数は途中で増えたり減ったりするので変数にしますが、「1週間の日数」は途中で変わらないので定数にします。
この考え方を覚えておくと、Kotlinのプログラムを作るときに役立ちますよ。
まとめ
Kotlinにおける定数の定義方法は、プログラミングを始めたばかりの人にとっても非常に理解しやすい構文でありながら、実際の開発現場でも頻繁に活用される重要な知識です。今回の記事では、「const val」というキーワードの使い方から、その命名ルール、valとの違い、サンプルコードの実践に至るまで、幅広く解説しました。定数は、一度設定した値を途中で変更しないように保証するための仕組みで、プログラムの安全性や読みやすさに大きく貢献します。
たとえば、「PI」や「DAYS_IN_WEEK」のような定数は、どのような場面でも「絶対に変わらない値」として安心して使えるため、コードの信頼性が高まります。また、スネークケース(大文字とアンダースコア)で記述することで、他の変数と明確に区別でき、チーム開発でも理解しやすいコードになります。
さらに、valとの違いを明確に理解することで、Kotlinの定数設計における判断力も身につきます。valは実行時に決まる値、const valはコンパイル時に確定している必要があるという点が大きな違いです。どちらを使うべきかを迷ったときには、「この値は途中で変わる可能性があるか?」という視点を持つことが重要です。
実際のサンプルプログラムでは、定数TAX_RATEを使って消費税を計算しました。こういった使い方を通して、実務的な場面でもconst valがどれほど便利で重要かがよく分かります。また、定数を使うことで保守性や拡張性が高まり、長期的な開発にも有利になります。
今後、Kotlinでの開発を続けていく中で、定数の定義とその活用は何度も登場する基本技術です。プログラムの中に「変えてはいけない値」があるなら、それは必ずconst valを使うという習慣を身につけていきましょう。この小さな工夫が、バグを減らし、チーム全体の生産性向上にもつながります。
生徒
「先生、定数って結構重要なんですね。変わらない値は全部const valにした方がいいんですか?」
先生
「その通りです。途中で変わらない値、例えば税率や円周率、曜日の数などは、必ずconst valを使うことで、プログラムの安全性が上がります。」
生徒
「でも、valとの違いってまだ少し曖昧かも…」
先生
「簡単に言えば、valは実行中に決まる値もOK。でもconst valは、プログラムが動く前、つまりコンパイル時に値が決まってないと使えません。」
生徒
「なるほど、事前に決まってる絶対に変わらないものはconst val、実行中に決まるけど変更しないものはvalですね!」
先生
「バッチリ理解できていますね。今後は、どちらを使うか迷ったときにはその違いを意識するといいですよ。」
生徒
「はい!次のKotlinプログラムでは、定数をしっかり使い分けてみます!」