カテゴリ: Kotlin 更新日: 2025/07/28

Kotlinのクラスの基本!クラス定義とコンストラクタの書き方を解説

Kotlinのクラスの基本!クラス定義とコンストラクタの書き方を解説
Kotlinのクラスの基本!クラス定義とコンストラクタの書き方を解説

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

生徒

「Kotlinで『クラス』っていう言葉を見たんですが、クラスって何なんですか?」

先生

「クラスとは、簡単に言えば『設計図』のようなものです。たとえば、人間というクラスを作れば、その設計図から『田中さん』や『佐藤さん』といった実体(インスタンス)を作ることができます。」

生徒

「なるほど、クラスは実体を作るためのもとになるんですね。どうやって書くんですか?」

先生

「それでは、Kotlinでのクラス定義と、コンストラクタの使い方について、わかりやすく説明していきましょう。」

1. クラスとは何か?初心者にもわかるクラスの基本

1. クラスとは何か?初心者にもわかるクラスの基本
1. クラスとは何か?初心者にもわかるクラスの基本

Kotlinにおけるクラス(class)とは、オブジェクト(モノ)を作るための設計図です。たとえば、ペットの情報をまとめるときに「Pet」というクラスを作ることで、複数のペットの情報を整理できます。

現実の世界で考えると、「犬」というクラスは、「名前」「年齢」「種類」といった共通の情報を持っています。これをプログラムで表すのがクラスです。

2. Kotlinでの基本的なクラスの定義方法

2. Kotlinでの基本的なクラスの定義方法
2. Kotlinでの基本的なクラスの定義方法

Kotlinでは、クラスを定義するにはclassというキーワードを使います。以下のようにシンプルに書けます。


class Pet {
    var name: String = ""
    var age: Int = 0
}

この例では、Petというクラスを作り、その中にname(名前)とage(年齢)という変数を定義しています。

このnameageは、そのクラスから作られたオブジェクト(インスタンス)ごとに値を持つことができます。

3. コンストラクタとは?オブジェクトの初期設定をする仕組み

3. コンストラクタとは?オブジェクトの初期設定をする仕組み
3. コンストラクタとは?オブジェクトの初期設定をする仕組み

コンストラクタとは、クラスからオブジェクトを作るときに、初期値を設定するための仕組みです。

Kotlinでは、クラス名の横にカッコ () をつけて、その中に初期化するための変数を記述します。


class Pet(val name: String, val age: Int)

このように書くと、nameageを持ったPetクラスができ、次のように使うことができます。


fun main() {
    val dog = Pet("ポチ", 3)
    println("名前: ${dog.name}")
    println("年齢: ${dog.age}")
}

名前: ポチ
年齢: 3

このように、クラスのコンストラクタを使えば、オブジェクトを作ると同時に情報を入れることができます。

4. プロパティ(変数)をクラスの外から使う

4. プロパティ(変数)をクラスの外から使う
4. プロパティ(変数)をクラスの外から使う

コンストラクタでvalvarを使って定義したプロパティ(変数)は、クラスの外でもアクセスできます。

valは「読み取り専用」で、後から変更できません。varは「変更可能」です。


class Pet(var name: String, var age: Int)

fun main() {
    val cat = Pet("ミケ", 2)
    println(cat.name) // ミケ
    cat.age = 3       // 年齢を変更
    println(cat.age)  // 3
}

ミケ
3

このように、varで定義したものはあとから書き換え可能です。

5. クラスから複数のインスタンスを作る

5. クラスから複数のインスタンスを作る
5. クラスから複数のインスタンスを作る

同じクラスから、複数のオブジェクト(インスタンス)を作ることができます。たとえば、複数のペットを作ることができます。


val dog = Pet("ポチ", 3)
val cat = Pet("ミケ", 2)

これにより、dogcatという2つの異なるインスタンスができ、それぞれに違う情報が入ります。

6. クラスとインスタンスの関係を身近なもので例えると?

6. クラスとインスタンスの関係を身近なもので例えると?
6. クラスとインスタンスの関係を身近なもので例えると?

クラスとインスタンスの関係は、「クッキーの型」と「焼かれたクッキー」のようなものです。

クッキーの型(クラス)を使って、たくさんのクッキー(インスタンス)を作ることができ、どれも形は同じだけど中身は少しずつ違うことがあります。

このように考えると、クラスとインスタンスの関係がとても分かりやすくなります。

関連記事:
カテゴリの一覧へ
新着記事
Go言語の構造体でインターフェースを実装する方法を初心者向けにやさしく解説!
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説
Go言語の文字列フォーマット!fmt.Sprintfで簡単に出力を整形する方法
Go言語のエラーと例外の違いを初心者向けに整理!わかりやすく解説
人気記事
No.1
Kotlin・Go・Swift記事の人気No1
Swiftのwhile文とrepeat while文を完全マスター!初心者にもわかる繰り返し処理の使い方と違い
No.2
Kotlin・Go・Swift記事の人気No2
Swift入門ガイド|基本構文と書き方をマスターしよう
No.3
Kotlin・Go・Swift記事の人気No3
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.4
Kotlin・Go・Swift記事の人気No4
Kotlinの正規表現(Regex)の使い方をやさしく解説!文字列操作の基本を初心者向けに学ぼう
No.5
Kotlin・Go・Swift記事の人気No5
Kotlinのコンパニオンオブジェクトとは?初心者向けに使い方と役割をわかりやすく解説!
No.6
Kotlin・Go・Swift記事の人気No6
Kotlinで画面を作る!レイアウトXMLとビューの基本操作をやさしく解説
No.7
Kotlin・Go・Swift記事の人気No7
Kotlinのwhen式を完全ガイド!初心者でもわかるパターンマッチング的な使い方
No.8
Kotlin・Go・Swift記事の人気No8
Swiftのオプショナル型とは?初心者でもわかる使い方とアンラップの基礎