広告スペース(バナー)
レッスン 17 / 20

object(シングルトン)

このレッスンでは、Scala特有のobjectキーワードによるシングルトンの仕組みを学びます。「Scala object 使い方」で調べている方向けです。

objectで定義したものは、プログラム内にただ1つしか存在しない特別なインスタンスになります。これまでのレッスンで使ってきたobject Main extends Appも、実はこの仕組みです。

サンプルコードでは、object MathUtilsという共通の計算処理をまとめたシングルトンを定義し、MathUtils.square(5)のように、インスタンス化せずに直接メソッドを呼び出しています。

初心者がよくつまずくのが、classobjectの使い分けです。複数のインスタンスが必要ならclass、共通のユーティリティ関数や定数をまとめたいだけならobjectを使う、と覚えておくと判断しやすくなります。

実際の開発現場では、Javaのstaticメソッドに相当する処理をまとめる場所として、objectがよく使われます。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではScalaを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
共通の計算処理をまとめた、再利用しやすいユーティリティが作れるようになります。
広告スペース(バナー)
広告スペース(記事内)