- 締切済み
インスタンスとは?
JAVAとかに出てくる「インスタンス」という言葉の意味をもっとわかりやすく教えてください。 小学生でもわかるような例えで教えてください
- taritarianime
- お礼率3% (53/1523)
- その他(プログラミング・開発)
- 回答数8
- ありがとう数3
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- weavaest
- ベストアンサー率15% (157/1020)
技術者向のカテゴリーですが、技術者っぽくない質問ですね。 「もっとわかりやすく」って何に対しての「もっと」なのでしょうね。 現在どの程度の理解かによって、「もっと」の指す意味が違ってきますよね。 小学生云々は、まあどうでもいいですけど... インスタンスとは、オブジェクトって言えば理解できますか。実態って言えば理解できますか。 クラスを雛形とすれば、インスタンスが、それをメモリ上に実体化したものです。なんて説明で理解できますか。 クラスをレシピとするなら、インスタンスは料理とかでどうですか。 今の理解度が分からない以上、どう説明していいかわからないです。取り敢えず適当な表現で書いてみました。
- amanojaku1
- ベストアンサー率54% (265/488)
下記は つい最近 僕が作成した PC用の Java2 Appletcation の Demo プログラムの動画です。 物凄く大雑把に言うと「Sin波を動かす」クラス(設計図)を作成し、「Sin波を動かす」インスタンスを複数 生成させて、複数の Sin波を動かしています。 少し分かりにくいかもしれませんが、白色は合成波です。 Java2 Appletcation 10『Sin グラフを横スクロールさせる(6)』 https://www.youtube.com/v/XRoiPPgqxto%26autoplay=1
- amanojaku1
- ベストアンサー率54% (265/488)
下記はアンドロイド・プログラミングの勉強のために僕が以前 作成した Demo プログラムの動画です。 物凄く大雑把に言うと「円を動かす」クラス(設計図)を作成し、「円を動かす」インスタンスを複数 生成させて、複数の円を動かしています。 『SurfaceView(2) 改(2)』サンプル動画 https://www.youtube.com/v/-khejT0BwXw%26autoplay=1
- amanojaku1
- ベストアンサー率54% (265/488)
補足 > 変数 CarA に Car のインスタンスを代入し A さんの車を作る。 変数 CarA に「new Car( )」で生成したインスタンスを代入し A さんの車を作る。
- amanojaku1
- ベストアンサー率54% (265/488)
クラスは設計図、インスタンスは その設計図から作られた製品と言う感じです。 例えば自動車の設計図として Car と言うクラスが有ったとすれば 変数 CarA に Car のインスタンスを代入し A さんの車を作る。 CarA = new Car( ); 変数 CarB に Car のインスタンスを代入し B さんの車を作る。 CarB = new Car( ); ↑このように設計図を1つ作れば製品を いくらでも量産できると言う訳です。
- Wap58
- ベストアンサー率33% (29/87)
あなたは数学にも疑問を感じないの、 数学も解答の円周率を先に教えて、 それを解けって不思議な学問なんだよ。 勉強も口から食って口から出すでしょ、 プログラムも同じ扱いでいいんじゃない。 私はインスタンスとか詳しく考えない、 でも、とりあえず動くソース程度は書ける。 普段使いの計算でいいんじゃね? いきなり円周率とかを理解しようとしない、 分かってもあまり意味がないと思う。
>小学生でもわかるような例え たとえ話で理解しようとするから、フロッピーを初期化するだとか、いや買ってくることだとかいう話になるんじゃないですか?たとえ話で理解するような性質のものではないのではないでしょうか。 あえてそういうたとえ話をするとすれば、ウェブにいくつでも見つかります。いまいくつかみつけた中で面白かったものをご紹介します。 http://www.atmarkit.co.jp/ait/articles/0805/08/news152_2.html 大まかに言えば、クラスで定義されたようにメモリ上にデータを展開することです。 インスタンスが生成されたら、プログラムが走っていることがわかります。 同じクラスでもうちどインスタンスを生成すれば、同じプログラムがもう一つ走ることになります。 メモリ上に新しい領域を確保して、そこに必要なデータを展開するのですから、初期化とは全く違う話です。
関連するQ&A
- インスタンスの定義について。
今プログラミングについて勉強しています。そこでよく耳にするのがインスタンスという言葉なんですが、本やネットで調べてもなんとなくわかったような、わからなかったような…。よく「実体」という例えは聞くんですが、実体というのはオブジェクトのことになるんじゃないんですか?ご指導お願いします。 あっ!!ちなみにインスタンスという言葉は、使い方によって意味が違ってくるなんてことはないですよね?
- ベストアンサー
- その他(プログラミング・開発)
- インスタンスとポインタ
インスタンスとポインタを図解入りでわかりやすく解説しているサイトか書籍を教えてください。 私はグラフィッカーなのでいまいちこの2つが理解しにくいんです。 もしくはわかりやすい例えで教えてくれませんか? よろしくお願いいたします。
- 締切済み
- C・C++・C#
- インスタンスの作成=初期化という意味?
javaを勉強しているのですが、インスタンスの作成とはそのクラスにアクセスして利用できるよう準備をする。つまり、フロッピーディスクのフォーマットみたいなもの?(いわゆる初期化) ということでいいのでしょうか? もし違っていたら小学生でもわかるように教えてください。
- ベストアンサー
- その他(プログラミング・開発)
- UMLでの「オブジェクト」と「インスタンス」の違い
Java的な概念での説明や、単に「オブジェクト指向」と銘打つHPなどの説明では、「オブジェクト」と「インスタンス」は同じものとして扱われたり、「クラスオブジェクト」「インスタンスオブジェクト」等という言葉を持ち出し、単独の「オブジェクト」という言葉は存在しないなどと取れる説明をしていることが多いように感じます。 しかし、一般的にUMLを元にしたオブジェクト指向の考え方の下では「オブジェクト」と「インスタンス」という言葉は明確に使い分けられており、また「クラス」と「オブジェクト」は対極にあるものとして扱われるため、「クラスオブジェクト」等という言葉が使われることもありません。 下記URLと書籍では、「オブジェクト」と「インスタンス」を明確に使い分けています。 http://www.atmarkit.co.jp/fjava/devs/object04/object04.html テクノロジックアート UMLモデリングL1 P2,3 しかし、この使い分けのニュアンスの違いが理解できません。 オージス総研 初めて学ぶUML 21P では、「型/インスタンス」→「クラス/オブジェクト」という明確な解を提示していますが、微妙な感じだし、何より前出の2者とは明らかに異なる意味合いで使われています。 人によって異なる意味合いで使われているということは理解しています。また、その人による微妙な違いもおおむね理解しているつもりです。しかし、上記の2者のニュアンスだけは理解できない状態です。このニュアンスがわかる方、解説よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- SAPでいう「インスタンス」ってなんですか?
最近、仕事柄SAP関連の方とよく懇談させていただいております。頻繁にインスタンスという言葉を聞くのですが、意味がよくわかりません。 どなたか、非常に簡易に分かりやすくご教示いただけませんでしょうか?宜しくお願い致します。
- ベストアンサー
- インターネットビジネス
- インスタンスについて
個人的にJavaの勉強を始めた者です。 サンプルのソースをいただいたのですが、質問があります。 package xxxx.xxxxx.xxxxx; import yyyy.yyyy.yyyy; public final class ABC { /** 自クラスのインスタンス private static final ABC _SELF = new ABNC(); 中略 } 1.このように、自クラスのインスタンスを作成するのは何故でしょうか? 2.>_SELFのように "_"を先頭につけるのは、理由がるのでしょうか? サンプルを提供してくれた方には月曜まで連絡がとれません。 Javaのエキスパートの皆さん、よろしくお願いします。
- ベストアンサー
- Java
- 二段階でインスタンス化する必要、メリットって何?
JAVAについての質問です。 オブジェクトを宣言しても、NEWしない(インスタンス化しない)とメモリにはその領域が確保されないと参考書には 書かれていますが、このようにわざわざ二段階にわけてインスタンス化する必要、メリットって一体何なんでしょうか。 確かにインスタンス化されるまでは、メモリの節約にはなるでしょうが、宣言とインスタンス化する時間的なズレは わずかなもので、増してPCにとっては、もっと大した時間ではないでしょう。 それほどまでにしても、メモリの節約が大事なのでしょうか。 このように二段階にする意味は他に何か理由はあるような気がして仕方ないのですが。 このような疑問を持つのは私だけでしょうか。
- ベストアンサー
- Java
- インスタンスの作成タイミング
インスタンスの作成タイミングについて質問です。 インスタンスとは、クラスを実体化して固有の情報を持たせるものだと思っています。 一度インスタンスを作成して、その中でもう一度同じインスタンスを作成することは、どのような場合が考えられるでしょうか? (ex) a.javaの中で b.javaのインスタンスbbを作成しました。bbでmethod()を実行してその中でもう一度b.javaのインスタンスccを作成して、今度はcc.の中でmethod2()を実行しています。bbではAテーブルに変更をかけ、ccではBテーブルに変更をかけていますが、AテーブルとBテーブルはXという列で関連を持たせています。 つたない質問ですが、どなたかご教授ください。
- ベストアンサー
- Java
- インスタンス化で落ちてしまいます。
早速ですがお願いします。 バッチ用classU(名前AAA)からjavabean(名前BBB)を呼び出すために 以下のようにインスタンス化をすると落ちてしまいます。 BBB bbb=new BBB(); ログをいれてみた結果そこで落ちているのは確定です。 またtry catchをいれてみたのですがExceptionをキャッチできてないようでログには何も出ませんでした。 このBBBというのはAAA以外にも普通のサーブレットCCCでもインスタンス化して使えていますので BBBに問題はないように思われます。 AAAを起動させるバッチファイルは全く別のところから java jp.co.xxxx.AAAという形で起動させています。 なぜインスタンス化というところで落ちてしまうのでしょうか? よろしくお願いします。
- 締切済み
- Java