プリミティブデータタイプ(プリミティブ型)とか参照型とかをよく目にするようになったけれど、用語については殆どスルーしてた。
そろそろこの辺で用語について少しづつ知っていこうかなと思ったので、今回はプリミティブ型と参照型と呼ばれるものについてまとめてみた。
いつまでも無視するわけにはさすがにいかないか・・・。
データの型
Javeのデータの型は、大きく2つに分けることができる。
一つが「プリミティブ型」と呼ばれるもの。
もう一つが「参照型」と呼ばれるもの。
プリミティブ型とは
プリミティブとは英語で「primitive」をそのままカタカナ読みしたもの。
「根元の、基本の」といった意味がある。
primitive typeと英語では使われているから、日本語では「プリミティブ型」と呼ばれてるみたい。
プリミティブ型は「byte、short、int、long、float、double、boolean、char」の8種類だけ。
これらは「変数の型」というもので、データが整数なのか、小数点を含んだ数字なのかなどを宣言するものだった。
変数の型については以下参照。
変数の型の種類について今更まとめてみた Javaプログラミング初心者の記録vol.25
だけどStringはプリミティブ型じゃなくて参照型に含まれる。
要は、プリミティブ型以外のものは全部参照型ということ。
何を参照するかというと、オブジェクトを参照。
参照型とは
英語ではreference(=参照) typeと呼ばれるもの。
プリミティブデータ型以外のものがこれに当たる。
参照型は、オブジェクトを参照することからこう呼ばれている。
配列について、まだまとめてない事があったから後日まとめよう・・・。
配列についてまとめなおしたものは以下参照。
【Javaプログラミング】配列の復習 多次元配列について プロショvol.48
プリミティブ型と参照型の違い
両者には明確な違いがいくつかある。
- 参照型はメソッドを呼び出すことが可能だが、プリミティブ型はできない
プリミティブ型は「int A=5;」など、データを定義することはできる。
メソッドなどが「int A=5;」という値を参照することはあっても、「int A=5;」がメソッドを呼び出すのではない。 - プリミティブ型は値を常に持っているのに対し、参照型はnull(データが空っぽ)をいれることが可能
プリミティブ型は「int A=5;」など「5」といった特定の値を持つことが必要。
「0」という数字も含めて、何かしらのデータを持っている必要がある。一方でStringは「””(ダブルクォーテーション)」の中身にデータを入力しないことで、データなしとすることが可能。
int A=5; ⇒ Aは5
String AB=””; ⇒ 「”」の中にスペースすら入っていないのにエラーなし。ただし出力しても何もデータが表示されないだけ。 - プリミティブ型はデータのサイズがあり、変数の型によってそれぞれサイズが違う
参照型は同じサイズデータサイズについてはまたいつかの機会に・・・。
プリミティブ型はすでにJavaで定義されている。
intだったら、すでに用意されている「-2,147,483,648から2,147,483,647」の数字の中のどれかを使用することになる。doubleやbyteなど、ほかの変数の型でも同じことで、変数の型はすでに決められている範囲での整数もしくは小数点を使用できる。
方や参照型は私たちが自分でどんなデータを入れるか、または入れないかなど自由に決めることができる。
プリミティブ型と参照型は以上の点が主に大きく異なる。
プリミティブ型は8個!
最後に
データの型についてまとめてみたけど、自分でもちゃんと理解できているのかまだ疑問なところがある。
また学習を進めていってどんどん修正を加えて行ったり書き直しをしていこうと思う。
コメント