カテゴリ: Kotlin 更新日: 2026/05/12

Kotlinで定数を定義する方法!変更されない変数の書き方と命名ルール

Kotlinで定数を定義する方法!変更されない変数の書き方と命名ルール
Kotlinで定数を定義する方法!変更されない変数の書き方と命名ルール

先生と生徒の会話形式で理解しよう

生徒

「Kotlinでは、途中で変わらない値を保存したいときはどうするんですか?」

先生

「とても良い質問ですね。Kotlinでは、途中で変わらない値は定数という形で定義します。定数は、一度決めた値を変更できない特徴があります。」

生徒

「定数って何ですか?変数とどう違うんですか?」

先生

「では、Kotlinの定数の意味と使い方を順番に見ていきましょう。」

1. 定数とは?

1. 定数とは?
1. 定数とは?

定数とは、プログラムの中で決して変わらない値のことです。たとえば「円周率は3.14」や「曜日の数は7」のように、途中で意味が変わらない情報を指します。定数にしておくと、うっかり上書きしてバグになるのを防げて、コードを読む人にも「ここは固定の値なんだ」と一目で伝えられます。

まずは“変わらない値”という感覚をつかみましょう。次のサンプルは、アプリ名を固定して表示するだけのシンプルな例です。途中で書き換えようとするとエラーになるため、安全に扱えます。


// 「変わらない値」の例
const val APP_NAME = "MyShop"   // アプリ名は固定しておく

fun main() {
    println("Welcome to $APP_NAME")
    // APP_NAME = "YourShop"    // ← ここを外すとコンパイルエラー(変更できない)
}

このように、意味が決まっていて将来も変えない値を定数として表現すると、意図が明確になり、メンテナンスもしやすくなります。数字や文字列を“ラベル化”しておくイメージで使いましょう。

2. Kotlinで定数を定義する方法

2. Kotlinで定数を定義する方法
2. Kotlinで定数を定義する方法

Kotlinで変わらない値を表すには、const valを使います。読み方は「コンスト・バル」。ポイントは「プログラムを作る段階で値が確定している」ことです。数値や文字列などの決め打ちの値に向いており、あとから変更しようとするとエラーで守ってくれます。


// ① ファイルの先頭(トップレベル)に書く
const val PI = 3.14
const val DAYS_IN_WEEK = 7

// ② まとめて持ちたいときはオブジェクトに入れる
object AppConfig {
    const val APP_NAME = "MyShop"
}

const valトップレベルまたはobject/companion objectの中に置くのが基本です(関数の中には置けません)。使い方は通常の変数と同じで、参照するだけでOKです。


fun main() {
    println("円周率 = $PI")
    println("曜日の数 = $DAYS_IN_WEEK")
    println("アプリ名 = ${AppConfig.APP_NAME}")
    // PI = 3.0            // ← 変更しようとするとコンパイルエラー
}

このように、const valで“固定の値”を名前付きで表現すると、コードの意図がはっきり伝わり、予期しない変更も防げます。まずはよく使う数字や文字列から定数化してみましょう。

3. 定数の命名ルール

3. 定数の命名ルール
3. 定数の命名ルール

Kotlinの定数名は、すべて大文字+単語の区切りにアンダースコアを使うのが基本です(SNAKE_CASE)。見た瞬間に「ここは変わらない値」と分かるので、読み間違いや意図しない変更を防げます。さらに、単位役割を名前に含めると実務でも迷いません。

  • OK:PI / DAYS_IN_WEEK / MAX_RETRY_COUNT
  • OK(略語は全て大文字):API_BASE_URL / USER_ID_PREFIX
  • NG(意味が曖昧):CONST / VALUE1 / data

目安は「何を表し、どの単位か」が名前から伝わること。下の例のように、秒なら_SEC、ミリ秒なら_MILLISを付けると読みやすくなります。


// 良い例:意味と単位が分かる
const val DEFAULT_TIMEOUT_SEC = 30
const val MAX_RETRY_COUNT = 3
const val API_BASE_URL = "https://example.com"

// ブール定数は肯定形で読みやすく
const val IS_DEBUG_MODE = false

// 悪い例:情報が足りない or 紛らわしい
// const val TIME = 30        // ← 単位が不明
// const val RETRY = 3        // ← 目的が不明
// const val ApiUrl = "... "  // ← 大文字小文字の規則違反

プロジェクト全体で表記を統一すると、あとで検索もしやすくなります。「意味が伝わる・単位が分かる・SNAKE_CASE」の3点を意識して名付けましょう。

4. valとの違いを知ろう

4. valとの違いを知ろう
4. valとの違いを知ろう

Kotlinにはvalというキーワードもあります。これは一度だけ代入できる変数を作るときに使います。valで作った変数は途中で値を変えられませんが、const valもっと強い「定数」としての役割があります。

  • valプログラムが動いているときに決まる値も使えます。
  • const valプログラムが作られる前から決まっている値だけを使います。

つまり、定数にしたい値は必ずconst valを使いましょう。

5. Kotlinの定数を使うサンプルコード

5. Kotlinの定数を使うサンプルコード
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. 定数のメリット

6. 定数のメリット
6. 定数のメリット

定数を使うと、次のようなメリットがあります。

  • 間違って書き換えるのを防げる
  • 値が決まっていることをすぐに見分けられる
  • プログラムが読みやすくなる

例えば、税率や曜日の数など「いつも同じ値」は定数にすると便利です。

7. 定数名の例え話

7. 定数名の例え話
7. 定数名の例え話

定数は「変わらないラベル」のようなものです。例えば、家にある「玄関の鍵」の場所はいつも同じですね。それを「玄関鍵の場所はここ!」と決めておくのが定数です。プログラムでも同じように、いつも同じ値を決めておくことで、わかりやすさがアップします。

8. 定数にするか変数にするか迷ったら

8. 定数にするか変数にするか迷ったら
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プログラムでは、定数をしっかり使い分けてみます!」

Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。

基礎からわかるKotlinをAmazonで見る

※ Amazon広告リンク

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Kotlinで定数と変数の違いは何ですか?定数はいつ使うのが正しいですか?

Kotlinでは、定数は「const val」で定義し、途中で値を変更できません。変数は「var」や「val」で定義します。途中で変わらない値(例:円周率、税率など)は定数にするのが正しい使い方です。

Kotlinで定数を定義するにはどのような書き方をしますか?

Kotlinでは、定数を定義する際に「const val」というキーワードを使います。「const val 定数名 = 値」という形で記述します。

valとconst valの違いがよくわかりません。どっちを使えばいいですか?

valは実行時に決まる値でも使えますが、const valはコンパイル時に決まった値だけを扱えます。定数として途中で変わらない値にはconst valを使いましょう。
関連セミナーのご案内

【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分

「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。

本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。

具体的な体験内容と環境

【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。

【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。

この60分で得られる3つの体験

1. 自分のパソコンが「開発基地」に

プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。

2. プログラミングの「仕組み」がスッキリ

「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。

3. 「読みやすい」から「直せる」へ

Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。

※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。

セミナー画像

Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験

関連記事:
カテゴリの一覧へ
新着記事
New1
Kotlin
Kotlinの文字列を1文字ずつ処理する方法!for文とforEachの使い方を初心者向けに解説
New2
Kotlin
Kotlinの文字列比較の方法を徹底解説!==とcompareToの使い方を初心者向けにわかりやすく紹介
New3
Kotlin
Kotlinのrepeatメソッドの使い方を完全解説!初心者でもわかる文字列の繰り返し処理
New4
Kotlin
KotlinのisEmptyとisBlankの違いと使い方を徹底解説!初心者でもわかる文字列の空判定入門
人気記事
No.1
Java&Spring記事人気No1
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.2
Java&Spring記事人気No2
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.3
Java&Spring記事人気No3
Kotlin
Kotlinでテキスト表示・編集!初心者でもわかるTextViewとEditTextの使い方
No.4
Java&Spring記事人気No4
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.5
Java&Spring記事人気No5
Kotlin
Kotlinで定数を定義する方法!変更されない変数の書き方と命名ルール
No.6
Java&Spring記事人気No6
Kotlin
Kotlin Multiplatformライブラリの活用例と導入方法を初心者向けに解説!Android・iOS・Webを1つのコードで開発
No.7
Java&Spring記事人気No7
Go言語
Go言語のクリーンアーキテクチャの基本概念と実装例!初心者でもわかる設計パターン完全ガイド
No.8
Java&Spring記事人気No8
Go言語
Go言語でリダイレクト処理を行う方法(http.Redirect)を初心者向けに解説