型付け 単語


ニコニコ動画で型付けの動画を見に行く

カタヅケ

1.5千文字の記事
これはリビジョン 2072295 の記事です。
内容が古い・もしくは誤っている可能性があります。
最新版をみる

型付けとは、

  1. プログラミング言語での型の取り扱い流儀を表すための用語である。
  2. 新品のグローブなどを使いやすいように変型させることである。

本記事では1.について解説する。

概要

高級プログラミング言語大半が文字や数字(整数と小数)を別の型と位置づけており、クラス(オブジェクト)ごとに型が設定されていることがほとんどである。

これは偶然ではなく型理論という数学的理論に裏付けられているらしいがここでは深入りしない。

静的型付けと動的型付け

型付けには静的型付けと動的型付けがある。

静的型付けとはプログラム実行開始時にすべての変数の型が予め決まっているプログラミング言語であり、
動的型付けとはプログラム実行中にその変数が呼び出されるときまで、変数の型が変わりうるプログラミング言語である。

静的型付けはコンパイル言語に多く動的型付けはスクリプト言語に多いが、傾向であり、絶対的なものではない。

動的型付け

プログラム製作者の観点からは、動的の方が制約が少ないので書き始めは書きやすいが、プログラムが大きくなると、変数の型が正しいことを保証する(型安全という)を自力で管理する負担が増大するので向いていないといわれている。したがって、小さな処理を簡便に記述するのに向いている。

静的型付け

静的型付けは、実行前(多くはコンパイル時)にはすべての変数の型が決まっている。
従ってIDEによる支援も受けやすい。

長所と短所

たとえば、整数と小数を別の型として扱う言語(先述のように大多数のプログラミング言語がそうである)においてx,yを引数に取り、x * yを返す関数(もしくはメソッド)f(x,y)を考えてみる。

動的型付けが有利な点

動的型付けなら、f(x,y) = x * yと定義するだけで済むが、静的型付けだとx,yが整数か小数かで既に2x2の4通りの場合があり、さらにf(x,y)の戻り値の型は実行前に定義されている必要があるので、(x,yが小数の時に)x * yが整数になる時だけf(x,y)が整数型となり、それ以外の場合はf(x,y)が小数型となるような定義は、不可能か、可能であったとしてもかなり複雑な処理を伴うことが多い。

またf(x,y)の結果として x * y(整数), x / y(小数)の2種類の型を戻したい場合、動的だと、2つの値の配列を返せば済む言語が多いが、静的だと配列の要素はすべて同じ型でないといけない言語が多いので、「型の組み合わせを表す型」をその都度別途定義する必要が出てくる。

静的型付けが有利な点

しかし、動的だと、x,yに数字の1や0.5以外に文字の「三」などが入ってしまう可能性があり、プログラムの作成者と使用者が異なる場合、その問題が発覚するのが、作成者の手を離れて使用者の手に渡ってしまってから初めて判明することになる危険性が大きい。

小さなプログラムだと、そのようなことが起きないように人力で気を配る程度で済むが、作る人と使う人のコミュニケーションが希薄だったりプログラムが改造を重ねて大きくなったり、プログラム作成から時間が経ったりすると注意が行き届かなくなり、上記ミスの危険性が高まる。

静的型付けではIDEがチェックしてくれることが多い。

一方、動的では別途型安全を保証する機構を(ユニットテストなどにより)自分で用意する必要が生じ、先述した手軽さというメリットが相殺されてしまうことになる。

もちろんこれは一般的傾向であり、個々の言語にはそういった問題に対処するための仕様やツールが用意されていることも少なくない。

関連動画

関連項目

  • プログラミング関連用語の一覧

おすすめトレンド

ニコニ広告で宣伝された記事

記事と一緒に動画もおすすめ!
あいあか[単語]

提供: 骨皮筋右衛門

もっと見る

急上昇ワード改

最終更新:2025/12/10(水) 15:00

ほめられた記事

最終更新:2025/12/10(水) 14:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。

TOP