No.2ベストアンサー
- 回答日時:
クラスについては、オブジェクト指向という考え方が生まれる以前のいくつかの方法論を
継承してできあがった概念ですので、一言で説明しようとすると、やや難しい部分が
あります。(特に従来のプログラミングの経験を積んだ方には、なおのこと。)
出発点として、ファイルのレコードのようなものだと考えると分かりやすいかもしれません。
例えば、顧客情報のファイルがあったとします。個々の顧客の情報は一人一人違っていて
当然ですが、同じファイルの中のデータは、通常すべて同じ形式の情報でできています。
Aさんのデータは住所と氏名と・・・とを含みます。Bさんのデータも住所と氏名と・・・とを
含みます。Cさんのデータも・・・ということになっていたとしたら、一般的に
「住所と氏名と・・・とを含むもの」という概念を作ったら便利だと思いませんか?
これがつまり「データ型」であり、Javaでは「クラス」と呼ばれるものです。
すると、例えば「Xさんのデータは顧客情報(クラス)のデータです。」と表現しただけで
「Xさんのデータは氏名と住所と・・・を含みます。」と言ったのと同じことになります。
Javaの文法で表現すると、こんなことになります。
class KokyakuJouhou {
String Shimei;
String Juusho;
:
}
KokyakuJouhou Asan;
とりあえず、こんな理解から始めてみて下さい。
イメージが掴めてきました!
どうしても、数値型、文字型・・・と考えてしまい勝ちなんですが、そうでは
無いのですね。
先に進むことが出来そうです。ありがとうございました!
No.1
- 回答日時:
例えば、Stringはクラス名でStringという型です。
Stringはオブジェクトであり、
例えば
String str = new String();
int a= str.length()
などのように使用しますよね。
クラス名がデータ型という言い方よりもクラス名が
そのクラスの型(オブジェクトの型)と考えたほうがいいです。
その本に「クラス名がデータ型になる」と書いてあったということは、説明しているクラスがデータを格納するために作られた独自クラスだったからではないでしょうか。
例えば
public class StudentData{
private name;
private age;
public getName(){
return name;
}
public setName(String str){
name = str;
}
:
:(省略)
}
というような生徒の名前と年を格納するクラスを作成します。
public class StudentInformation{
StudentData studentData;
public void setStudentData(name, age){
studentData.setNmae(name);
studentData.setAge(age);
}
public StudentData getStudentData(){
↑データ型
return studentData;
}
}
このようなクラスがあったとするとgetStudentData()メソッドの型がStudentDataクラスがデータ型ということになります。
基本的には
「クラス名がそのクラスのオブジェクトの型である」
とおぼえたほうがいいと思います。
実際はこれだけではないですが。。。
「オブジェクト指向」というものを理解しきれていない為、なかなか「型」というもののイメージが湧きませんが、ボンヤリと見えてきたような気がします。
(こんなに詳しく説明してくださっているのに「ボンヤリと」で、申し訳ありません。(汗))
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java 複数TBLのオブジェクトを1つの変数(オブジェクト)でまとめて管理したい 1 2022/12/17 00:12
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- フリーソフト 色々な形式の個人情報を後で参照しやすいようWindow10で管理したいのですが、どんな方法があるの? 1 2023/04/29 16:46
- XML MSFormsとは何ですか? 2 2022/05/02 09:38
- PHP クラス 1 2022/08/08 15:12
- C言語・C++・C# C言語初心者です、、、お助けください 2 2023/03/14 20:08
- Oracle 参照関係のフィールドについて 1 2023/05/27 17:49
- Ruby 初心者プログラミング 3 2022/10/12 11:31
- その他(プログラミング・Web制作) Pythonのデータ型 2 2023/04/26 12:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3年間同じクラスになる確率
-
配列の重複する値とその個数を...
-
「天声人語」をインターネット...
-
グローバルIPとプライベートIP...
-
java eclipse 型に解決できません
-
string formatについて
-
同じクラスにならない確率を教...
-
同一パッケージにあるクラスが...
-
自作のクラスファイルがインポ...
-
「自作クラスの型」にキャスト...
-
意味の違いを教えてください Sh...
-
A・B・Cクラスとは?
-
標準モジュールとクラスモジュ...
-
JSPでclassのimport
-
Java「デフォルトのパッケージ...
-
どこからも呼ばれていない無意...
-
クラスのプロパティに構造体を...
-
JSP jsp:usebean で総称型クラ...
-
クラスの継承でメンバ変数が・・
-
UMLのクラス図はmain()も含むん...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
河合塾のクラス分けについて
-
同じクラスにならない確率を教...
-
3年間同じクラスになる確率
-
「天声人語」をインターネット...
-
グローバルIPとプライベートIP...
-
配列の重複する値とその個数を...
-
java eclipse 型に解決できません
-
同一パッケージにあるクラスが...
-
私はクラスLINEにまだ入れてな...
-
老い先短い ジジィ が ふと 思う...
-
自作のクラスファイルがインポ...
-
どこからも呼ばれていない無意...
-
main()を持つクラスが2つ以上...
-
数学の計算問題。 3年間同じク...
-
クラス見てから 女の子5人 ネタ...
-
javaのコンパイルができません...
-
1 つのヘッダファイルに複数の...
-
重複エラーを解決するには
-
IPアドレスの3バイト目の呼び方
-
packageとimport の違いって?
おすすめ情報