静的型付け(Static Typing)とは、変数や関数が扱うデータの種類を、プログラムを動かす前の段階で決めて確かめる方式のことです。動かしてから確かめる「動的型付け」と対になる考え方です。
現実世界に例えると、静的型付けは荷物を送る前に、箱の大きさと中身を伝票で照合しておく仕組みのようなものです。手間はかかりますが、届いてから「入らない」と分かる事故を防げます。
動的型付けとの違い
| 項目 | 静的型付け | 動的型付け |
|---|---|---|
| 確かめる時期 | 動かす前 | 動かしている最中 |
| 誤りの発覚 | 早い | 遅い |
| 書く手間 | やや多い | 少ない |
| 代表的な言語 | Java、C#、TypeScript | Python、JavaScript |
型とは何か
前提を押さえておきましょう。型とは「これは整数」「これは文字列」といったデータの種類のことです。数値どうしなら足し算ができますが、文字列と数値を足そうとすれば意味が定まりません。型はこうした取り違えを防ぐための区分です。
いちばんの利点は早期発見
実務での価値はここに集約されます。型の食い違いは、動かす前の検査で機械的に見つかります。試験を通り抜けて本番で初めて発覚する、という事態を減らせます。規模が大きく、長く使うシステムほど、この差は効いてきます。
入力補助が効く
見落とされがちですが大きな利点です。種類が決まっているため、開発用のソフトが「この変数に対して使える操作」を正確に示せます。候補が自動で出て、綴りの誤りも減ります。書く速さは、むしろこちらのほうが上になることもあります。
書く量が増える
短所も明らかです。いちいち種類を書き添える必要があり、短いプログラムでは煩わしく感じます。試しに動かしてみたいだけの場面では、この手間が足かせになります。近年はこれを和らげる工夫が進んでいます。
型推論で書く量を減らす
その工夫がこれです。与えた値から種類を機械が推し量ってくれる仕組みで、書かなくても静的な検査は効きます。安全性を保ったまま、動的型付けに近い書き心地が得られるため、近年の言語ではほぼ標準の機能になっています。
大人数の開発ほど効いてくる
規模が大きくなるほど価値が増します。他人が書いた関数を使うとき、何を渡せばよく何が返るのかが、中身を読まなくても分かります。人の出入りがある現場や、何年も手を入れ続けるシステムでは、この「読まなくても分かる」ことが効いてきます。
後から足すこともできる
柔軟な進め方もあります。もともと動的だった言語に、型を書ける仕組みを後から加えたものがあります。JavaScriptに対するTypeScript、Pythonの型注釈がその例です。既存のプログラムを一度に書き換えず、少しずつ移せます。
あわせて知っておきたい用語
- 型推論:
書かなくても種類を機械が推し量る仕組みです。 - TypeScript:
JavaScriptに静的な型付けを加えた言語です。 - コンパイル:
実行できる形へ翻訳する作業です。 - デバッグ:
プログラムの誤りを見つけて直す作業です。


コメント