概要
DTOは、ソフトウェア開発においてデータをやり取りする際に使われる「データ専用の入れ物」です。
プログラム内のオブジェクトやシステム間でデータを受け渡すために利用され、
処理のロジックは持たず、ただのデータの集合体として扱われます。
正式名称
Data Transfer Object(データ・トランスファー・オブジェクト)
略称
DTO(ディー・ティー・オー)
特徴
- データの受け渡し専用のクラスや構造体
- ロジック(処理)は持たない
- シリアライズ(JSONなどに変換)しやすい
- 複数の値を一つのまとまりとして送るのに便利
- アプリの層(レイヤー)分離を助ける(例:ビジネスロジックと表示を分ける)
具体例
例:ユーザー情報をWeb APIで送る場合
// Javaの例
public class UserDTO {
public String name;
public String email;
public int age;
}
このUserDTOを使えば、WebアプリやAPIサーバーがユーザー情報を簡単にやり取りできる。
使い方の流れイメージ:
- データベース → エンティティ(DBの情報)
- エンティティ → DTO(Web用に整形)
- DTO → クライアント(画面やアプリ)
関連用語
用語 | 解説 |
---|---|
POJO(Plain Old Java Object) | Javaでよく使われる、処理を持たないシンプルなオブジェクト。DTOと似た形。 |
VO(Value Object) | 値を表すオブジェクトで、DTOと用途が少し異なる(データの不変性など重視)。 |
Entity(エンティティ) | DBと対応する実体オブジェクト。DTOとは役割が異なる。 |
API(エーピーアイ) | 外部とデータをやり取りするための仕組み。DTOはAPIで使われることが多い。 |
シリアライズ | オブジェクトをJSONなどに変換すること。DTOはこれに向いている。 |