Kotlin データクラス

はじめに

最近は趣味でKotlinとSpringFrameworkを使っています。使ってみたり、言語設計の哲学を知って、Kotlinが好きになりました。Kotlinの良いところやつまづいたところなどを共有していきたいと思います。

よろしくお願いいたします。

データクラスとは

DTOをJavaで書くとと面倒だった実装をKotlinのデータクラスを使うと簡単に実装できるようになります。Javaと比較しつつ、紹介します。

DTOの実装

Javaで実装してみる

苗字と名前を持ったクラスをJavaで作ると以下のようにフィールド・コンストラクタ・ゲッター・toStringメソッド・hashCodeメソッド・equalsメソッドを実装することになると思います。

 

Kotlinで実装してみる

KotlinではDTOをデータクラスとして以下のように簡単に実装することができます。Javaのときに実装したtoStringメソッド・hashCodeメソッド・equalsメソッドをデフォルトで実装してくれます。そのため、わざわざ実装しなくてすみます。

 

他にもcopyメソッドやcomponentNメソッドが使えるようになります。

copyメソッド

copyメソッドとは、インスタンスのフィールドの一部だけを変更して新しいインスタンスを作るときに便利なメソッドです。

firstNameはそのまま流用し、lastNameだけを変更したい場合は以下のように記述することができます。

componentNメソッド

N番目のプロパティの内容を取り出す関数です。データクラスだけにある機能ではないですが、componentNメソッドがデフォルトで実装されます。componentNが実装されていると分解宣言ができます。分解宣言については別の機会に説明します。

まとめ

JavaではIDEの自動生成やLombokを利用していましたが、Kotlinではデータクラスを使うだけで済むので便利ですね。

 

システム開発のご相談はこちらからお気軽にお問合せください。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です