Data Transfer Object(DTO)はデザインパターンの一種で、アプリケーションソフトウェアのサブシステム間でデータを転送するのに使う。過去、J2EE第一版においてはValue Objects(VO)と呼ばれていた。なお、マーティン・ファウラーが著書「Patterns of Enterprise Application Architecture」において示した「Value Object」はこれとは意味が異なる[1]。Data Access Object と組み合わせて、関係データベースからデータを検索するのに使うことも多い。 Data Transfer Object とビジネスオブジェクトや Data Access Object との違いは、DTO が自身のデータの格納と取り出し機能(アクセサメソッドとミューテータメソッド)しか持たない点である。