読み方 : どうてきかたづけ

動的型付け【dynamic typing】

概要

動的型付けとは、プログラム中の変数や関数、式のデータ型を、実行時に動的に決定する仕組み。ソースコード上で型を明示しなくても値に応じて型が扱われる。JavaScriptPythonRubyPHPといった広く普及しているスクリプト言語の多くはこの方式を採用している。
動的型付けのイメージ画像

プログラミング言語におけるデータ型とは、整数や文字列、真偽値など、値の性質や許可される操作を表す分類である。動的型付けを採用しているプログラミング言語では、変数にあらかじめ固定された型を宣言する必要がなく、代入された値の型に応じて内部的に自動的に型が決定される。異なるデータ型の再代入が可能な場合もあり(言語による)、最初に整数を格納していた変数に、途中から文字列を代入し、以降は文字列として扱うといった処理が可能となる。

コード記述時に型宣言を省略できるため、簡潔な記述が可能となり、試作や小規模開発において迅速な実装が行いやすい。変数の柔軟な再利用や、汎用的なデータ構造の扱いも比較的容易である。一方、データ型の整合性チェックの多くが実行時に行われるため、実行するまで型の不一致に起因するエラーが検出されないことが多い。

これに対して、実行前のコンパイル時などに型を確定させる方式は「静的型付け」(static typing)と呼ばれる。コードを書く段階で「この変数には整数しか入れない」といった宣言を厳密に行う必要があり、実行時には事前に決まった型通りに処理が行われる。実行時にデータ型に起因する問題が生じにくい利点がある。

動的型付け言語であっても、内部的には各値が型情報を持っており、演算や関数呼び出しの際に適切な型かどうかが評価される。近年では、動的型付けの柔軟性を活かしつつ開発の効率と安全性を高めるため、任意で型注釈や型ヒントを付与し、補助的に静的解析を行う仕組みも導入されている。JavaScriptに型宣言の記法を導入したTypeScriptなどの例が該当する。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。