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

case class

このレッスンでは、Scala特有の便利なクラス定義方法であるcase classを学びます。「Scala case class 使い方」で調べている方向けです。

case classは、通常のクラスに加えて、値の比較(==)・文字列表現(toString)・コピー機能などが自動で追加される、データを表現するのに便利な仕組みです。

サンプルコードでは、case class Point(x: Double, y: Double)を定義し、2つのPointインスタンスを==で比較しています。通常のクラスなら参照が異なれば等しくならないところが、case classでは中身の値で比較されます。

初心者がよくつまずくのが、通常のクラスとcase classの違いです。「データそのものを表現したいならcase class、振る舞いが中心ならクラス」と使い分けると判断しやすくなります。

実際の開発現場では、APIのレスポンスデータや、設定値のまとまりなど、「データの入れ物」を表現する場面でcase classが多用されます。

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

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

🎯
ここまでできればゴール達成!
座標のような、値そのものを比較できるデータが作れるようになります。
広告スペース(バナー)
広告スペース(記事内)