備忘録

備忘録用のブログ…雑多に色々書いていきます。

java:フィールドについて

「フィールド≒変数」について

まずフィールドとは変数のことだと思っておいてよい。

そしてフィールドの種類には形式(型)から見る種類と、スコープから見る種類がある。

スコープ…ある変数名や関数名といった名前を参照できる範囲
引用:スコープ - Wikipedia

形式から見る種類

形式から見るフィールドの種類は以下の2種類ある。

  • 基本型変数
  • 参照型変数

それぞれの違いは以下のようなものがある。

基本型変数
  • intやcharなどの小文字で宣言した変数。
  • 「プリミティブ型」とも呼ばれる。
  • C言語のようで手続き的 = 入れ物モデルである。
参照型変数
  • IntegerやCharacterなどの大文字で宣言した変数。
  • 「ラッパークラス」とも呼ばれる。
  • オブジェクト指向的 = 張り紙モデルである。


入れ物モデル…変数が箱のようなもの。その箱の中にデータを入れるイメージ。よくC言語の入門書で説明されている変数のイメージ。

張り紙モデル…変数が札のようなもの。その札をデータのある場所に貼り付けていくイメージ。家の住所のような…


この基本型変数と参照型変数、それとオートボキシングという機能によって、いろいろ混乱する処理が行われてしまうのだけれど…
オートボキシングの説明がめんどい…というか私も混乱してくるので今は割愛。いつか書くかも…

ただ、混乱しないために同値性(値の比較)をしたいなら「equals」メソッドを使う
これをしとけばif文の値の比較で混乱することはないと思う。

「==」は同値性ではなく同一性(住所が同じか)を比較しているんだよね。


まとめたくとも、時間がないし、著作権気にして書くのしんどい…