IT・プログラミング雑学

簡単でわかりやすい!動的型付けと型推論の違いとは?タイミング?どちらが便利?プログラマーがわかりやすく解説

プログラミングを学ぶと動的型付けや型推論という言葉が出てくる。何やら難しそうな専門用語に思えるが、これらは何が違うのでしょうか。動的と言うからには静的もありますが、何が動いたり静かなのでしょうか。また、推論というからにはAIでも使うのでしょうか。そんな一見難しそうな動的型付けや静的型付け、型推論について、そもそも変数や型とは何かから多くのプログラミング言語の経験をもつプログラマでもあるライターのwoinaryと一緒に解説していきます。

ライター/woinary

某社で社内向け業務システムの開発、運用を30年近くやっていたシステム屋さん。数多くのプログラミング言語を経験。現在はフリーランス。ガジェットやゲーム、ラノベが大好きなおっさん。

タイミングが違う?動的型付けと型推論とは

image by iStockphoto

例えばコンピュータゲームのキャラクターには名前やHPといったパラメーターがありますよね。プログラムでデータをしまっておくための仕組みが変数です。多くの場合、名前は英語や日本語の文字の並びで、HPは数値ですよね。このように変数にも扱うデータの種類があります。それが変数の型です。

動的型付けと型推論の違いをざっくり説明すると、この型がいつ決まるかになります。この違いを説明するためには、まずは変数とは何か型とは何かが重要。動的や静的は何が違うのか、推論はどうするのかを説明します。

動的型付け:決まるのは実行時

まず動的型付けの説明から。変数には種類=型があります。その型を決めることが「型付け」です。その型付け=型が決まるタイミングが動的か静的かの違いで「動的型付け」と「静的型付け」に分かれます。

ではそもそも動的や静的とはなんでしょう。ざっくり言えば事前に決まっているものが「静的(スタティック)」で、動かす時に決まるのが「動的(ダイナミック)」です。例えるならば、外出する際に、どこへどうやって行くかを事前に計画を立てておくのが静的、その時の気分でぶらぶらと回るのが動的と考えてください。

型推論:決まるのはプログラムを書いた時

では静的型付け=型推論なのでしょうか。そういう説明もありますが、実はちょっと違います。旅行でいえばあらかじめ計画を立てるのが静的。例えば、バスツアーでどこかの店や施設に立ち寄る際、いちいちそこで何をしてくださいとは書いていませんよね。土産物屋に行けば土産を買うでしょうし、次の目的地まで時間がかかるようならトイレを済ませます。

プログラミングでも、静的型付けの場合は変数の型を事前に決めておきます。ただ、その変数にしまうデータの種類があらかじめわかる場合、いちいち書いているとめんどうです。ですから、わかりきっている場合には種類を書いておかなくても、コンピューターがおそらくこの型だろうということを決めてくれるのが「型推論」になります。

型って何?変数と型について

image by iStockphoto

データをしまう場所が変数、その種類が型です。しかし、わざわざ種類を気にする必要があるのでしょうか。実は型という考え方がないものもあります。その典型的なものが機械語。コンピューターが理解できるのは機械語だけ。ただ人間にはわかりにくいので、わかりやすい形でプログラムを表すのがプログラミング言語です。そのため、多くのプログラミング言語に型があります。つまり、型はとても重要なものということです。

まずは、変数とそこにしまうデータの種類である型の説明から始めます。

\次のページで「変数は途中経過を書き出すメモ」を解説!/

次のページを読む
1 2 3 4
Share: