データ型 でーたがた
整数型文字列型型宣言型変換静的型付け動的型付け
データ型について教えて
簡単に言うとこんな感じ!
データ型は「この箱には何を入れていいか」を決めるルールだよ!数字専用の箱・文字専用の箱・ true/false だけ入る箱…みたいに種類を分けることで、コンピューターが正しく計算・処理できるようになるんだ。
データ型とは
データ型(Data Type) とは、プログラム中で扱うデータの「種類」を定義する概念です。数値・文字・真偽値(はい/いいえ)など、データがどんな性質を持つかをコンピューターに伝えるための分類で、プログラミング言語のほぼすべてに存在します。
コンピューターのメモリ上では、すべてのデータは最終的に 0 と 1 の羅列として保存されます。しかし「00110001」という並びが数値の「49」を意味するのか、文字の「1」を意味するのかは、型の情報があって初めて判断できます。データ型はその「意味の解釈ルール」を担っているのです。
ビジネスの現場で「システムにどんなデータを持たせるか」を設計・発注する際、データ型の理解は見積もりの妥当性チェックや要件定義の品質に直結します。たとえば「金額フィールドに文字列型を使っていた」ことが原因で集計バグが発生するケースは珍しくありません。
主なデータ型の種類
| 型の種類 | 英語名 | 入れられる値の例 | 典型的な用途 |
|---|---|---|---|
| 整数型 | Integer / int | 0, 42, -5 | 個数・年齢・ID番号 |
| 浮動小数点型 | Float / double | 3.14, -0.5 | 金額・座標・割合 |
| 文字列型 | String | ”山田太郎”, “abc” | 名前・住所・メッセージ |
| 真偽値型 | Boolean | true / false | フラグ・チェック状態 |
| 日付・時刻型 | Date / DateTime | 2026-04-09 | 登録日・予約日時 |
| 配列型 | Array | [1, 2, 3] | 複数値のまとめ |
| NULL型 | Null / None | null / nil | 値なし・未入力 |
覚え方:「型は容器の形」
「型」と「容器」はどちらも”かた”と読めますね。整数型は丸い筒(数字だけ入る)、文字列型は封筒(文字を並べて入れる)、真偽値型はスイッチ(オン/オフしかない) と容器のイメージで覚えると混乱しにくいです。
静的型付け vs 動的型付け
型をいつ決めるかで、言語は大きく2種類に分かれます。
| 方式 | 特徴 | 代表的な言語 | 向いているシーン |
|---|---|---|---|
| 静的型付け | コード記述時に型を明示。コンパイル時にチェック | Java, C#, Go, Kotlin | 大規模システム・長期運用 |
| 動的型付け | 実行時に型が決まる。記述が手軽 | Python, JavaScript, Ruby | スクリプト・プロトタイプ開発 |
歴史と背景
- 1950年代 — 初期のアセンブリ言語では型の概念は薄く、プログラマーがビット列の意味を自分で管理していた
- 1954年 — FORTRAN が登場し、整数型と実数型(浮動小数点型)を言語レベルで区別 した最初期の例となる
- 1960年代 — COBOL が業務データ向けに固定長の数値型・文字型を整備。帳票処理に適した型体系が普及
- 1970年代 — Pascal・C が登場し、型の厳密なチェックを言語仕様に組み込む「強い型付け」が広まる
- 1990年代 — Python・JavaScript など動的型付け言語が台頭。Web 開発の急拡大とともに「手軽さ優先」の潮流が生まれる
- 2010年代以降 — TypeScript(JavaScript に静的型を追加)や Python の型ヒント構文など、動的言語に静的型チェックを後付けするトレンドが主流に。大規模化・チーム開発での品質担保が目的
型変換と型エラー:現場でよく起きるトラブル
型をめぐる問題は、システム開発の現場で頻繁にトラブルの原因になります。
型変換(Type Conversion / キャスト) とは、ある型のデータを別の型に変換する操作です。安全な変換と危険な変換があります。
【安全な変換の例】
整数 42 → 文字列 "42" ✅ 情報が欠けない
【危険な変換の例】
浮動小数点 3.99 → 整数 3 ⚠️ 小数点以下が切り捨てられる!
文字列 "abc" → 整数 ??? ❌ エラー(変換できない)
ビジネスへの影響例:
- 金額フィールドを文字列型で持つ → 「10」「9」「100」を並び替えると文字列順で「10→100→9」になってしまう(数値としての大小が壊れる)
- 日付を文字列で保存 → 「2026/4/9」と「2026-04-09」が混在して集計できなくなる
- NULL(値なし)を整数として計算 → システムが落ちる(NullPointerException などの実行時エラー)
関連用語
- 変数 — データを名前付きの箱として扱う仕組み。型と合わせて理解する基本概念
- コンパイル — ソースコードを実行可能な形式に変換するプロセス。静的型付けでは型チェックもここで行われる
- オブジェクト指向 — クラスを使って独自の型(オブジェクト型)を定義するプログラミングスタイル
- NULL・ヌル値 — 「値が存在しない」ことを表す特殊な状態。型と組み合わせて扱い方に注意が必要
- スキーマ — データベースでデータ構造(型を含む)を定義する設計図
- 型推論 — コンパイラやインタープリターが文脈からデータ型を自動判定する機能
- 例外・エラーハンドリング — 型変換失敗などの実行時エラーを適切に処理する仕組み