オブジェクトとインスタンスの違いは何?オラクル社のテキストではどう解説してる?【Java入門講座】

Поділитися
Вставка
  • Опубліковано 3 жов 2024

КОМЕНТАРІ • 53

  • @riri2750
    @riri2750 2 роки тому +16

    まとめ
    1.オブジェクト=インスタンス
    2.オブジェクト(クラス、インスタンス)は全て"モノ"
    3.設計ではオブジェクト、メモリ上にnewされた時インスタンスとよぶ
    クラスから生成された個々のオブジェクトを特にインスタンスと呼ぶ(Oracle)
    つまりインスタンスもオブジェクトの言葉のうちの一つ。

    • @SekaChan
      @SekaChan  2 роки тому +2

      ri riさん、まとめありがとうございました!!!
      すごく分かりやすくて感謝です✨✨
      (トップに固定させてもらいますね)

    • @riri2750
      @riri2750 2 роки тому +3

      @@SekaChan いえいえ菅原先生の動画が分かりやすすぎて記憶するために自分用にまとめただけです。こちらこそ感謝です!!

    • @やくまつ-e1q
      @やくまつ-e1q Рік тому +1

      つまり、こうだ。
      インスタンスは必ずオブジェクトであるが、オブジェクトは必ずインスタンスとは限らない。

    • @SS15SS13
      @SS15SS13 5 місяців тому

      マック(マクド)みたいですね😄
      1.オブジェクトとしてのマック(マクド)
       →店舗(バーガーやポテトを生み出すクラス)
      2.インスタンスとしてのマック(マクド)
       →バーガーやポテトそのもの(実体)
      例)
      1.「マック(マクド)行く?」
      2.「マック(マクド)食べる?」

  • @riririri668
    @riririri668 28 днів тому +1

    めっちゃ字が綺麗

    • @SekaChan
      @SekaChan  27 днів тому

      ありがとうございます!

  • @Libertas011
    @Libertas011 2 роки тому +5

    曖昧だった両者の違いが、図を元にした解説のおかげで理解が深まりました。

    • @SekaChan
      @SekaChan  2 роки тому +1

      juvat911さん、コメントありがとうございました!
      オブジェクトとインスタンスって似てるのでややこしいですよね💦
      この動画で理解が深ったようで良かったです!

  • @user-zunatuna
    @user-zunatuna Рік тому +5

    動画とても参考になりました。
    今回のテーマについては概念の部分のためなんとか自分の中での落としどころ(正解)を探っていたところなので人によって解釈が異なるという部分は目から鱗でした。
    個人的に説3で考えていたので、インスタンス化不要な「static」変数やメソッドについての考え方に悩んでいたのですが、そこで説2のすべてモノという考え方もあるのだというところで見解が広まり納得がいくようになりました。
    自分のような方にこの動画が届くこと節に願っています!

    • @SekaChan
      @SekaChan  Рік тому +1

      ツナマヨネーズさん、コメントありがとうございました!
      オブジェクトとインスタンスって呼び分け方が難しいですよね。
      たくさんの人が使い方を迷っていたりするので、この動画が落としどころを見つけるきっかけになれば嬉しいです😄

  • @早打ちマック-n2r
    @早打ちマック-n2r Рік тому +2

    とてもわかりやすかったです

    • @SekaChan
      @SekaChan  Рік тому

      コメントありがとうございました!
      わかりやすいって感じてもらえて嬉しいです。

  • @satoutilio4535
    @satoutilio4535 9 місяців тому +3

    newして作ったモコモコがインスタンスと頭の中で画像がされてましたw
    いろんな人のコメントもすごく為になります、ありがとうございます。

    • @SekaChan
      @SekaChan  9 місяців тому +1

      satou tilioさん、コメントありがとうございました!
      いろんな視聴者さんが意見してくれるおかげで、コメント欄もすごく参考になりますよね。
      僕も皆さんとやり取りしていて勉強になります。こちらこそ感謝です😄

  • @ttt1758
    @ttt1758 2 роки тому +4

    英単語の意味から考えてみましたが、和英辞書を見ると
    オブジェクト(object):物、物体
    インスタンス(instance):実例、事例、実証
    とありましたので、オブジェクトは実体化されるもの全般(general)を指し、インスタンスはクラスで実体化されたもの(specific)を指すのかなと思いました。

    • @SekaChan
      @SekaChan  2 роки тому +2

      ttt17さん、コメントありがとうございました!
      他の視聴者さんにとっても参考になる内容を共有してくれて感謝です✨
      オブジェクトが全般(general)、インスタンスが実体化されたもの(specfic)というイメージは僕も同じですね。

    • @ttt1758
      @ttt1758 2 роки тому +2

      @@SekaChan
      最近せかチャンでプログラミングを学びはじめたばかりですが、先生の雰囲気ととてもわかりやすい説明で楽しく学ぶことができ、感謝感激しております。本当にありがとうございます!
      これからもたくさん学ばせていただきます🙇‍♂️

  • @ニスコ
    @ニスコ 2 роки тому +1

    丁寧な解説ありがとうございます!

    • @SekaChan
      @SekaChan  2 роки тому

      ニスコさん、こんにちは。
      この動画はニスコさんに向けて作りましたが、いいね率が高いので他の人にも参考にしてもらえたのかなって感じてます✨
      こちらこそ、質問コメントありがとうございました!!

  • @深みどり
    @深みどり Рік тому +4

    私は特に勉強しているわけじゃないけど
    ある人が「オブジェクトのインスタンスされてなくて…」と会話していた人に対して「ルー大柴さんみたいで変」と言ったシーンを思い出しました。最後のせかチャンの仰ってた相手に合わせるに符が落ちました。

    • @SekaChan
      @SekaChan  Рік тому +2

      深みどりさん、コメントありがとうございました!
      ルー大柴さんのツッコミ、良いですね!思わず笑っちゃいました。
      なんとなく、IT業界にはルー大柴さんっぽい人がたくさんいる気がします💦

  • @Pacmania100
    @Pacmania100 2 роки тому +3

    割と漠然とした不特定なものを含むオブジェクトのうち、英語で言うところの冠詞 the が付くくらいの特定認識を持つ
    具体的な何かについて触れる時、無意識にインスタンスって言い換えている感じがします。

    • @SekaChan
      @SekaChan  2 роки тому

      Pacmania100さん、コメントありがとうございました!
      「冠詞 the が付く」っていう考え方はなるほど!ですね。
      すごくイメージがつきやすい例えだなぁと感じました👍

  • @naomasaki9
    @naomasaki9 10 місяців тому +2

    オブジェクト=Newされなくても存在している静的な(staticな)オブジェクトと、Newでインスタンス化される動的オブジェクト(staticが付いていない)を総称したもの。
    インスタンス=Newでコンストラクタを呼び出して生成されたもの=Newでインスタンス化されたもの。
    静的なオブジェクトはインスタンスとは云わない
    という理解です。

    • @SekaChan
      @SekaChan  10 місяців тому +1

      Haru Hatanoさん、コメントありがとうございました!
      静的(static)な「変数」や「メソッド」はよく聞きますが、静的な「オブジェクト」という言い方もあるんですね。勉強になりました😄
      たしかに、静的なオブジェクトはインスタンスとはいわない気がします。

    • @naomasaki9
      @naomasaki9 10 місяців тому +1

      @@SekaChan コメント、恐れ入ります。ご指導よろしくお願いします。インスタンスへの参照を渡す、をオブジェクトを渡す、と表現されている本が有ったりしまして、私のような初学者は

    • @naomasaki9
      @naomasaki9 10 місяців тому +2

      @@SekaChan コメント、恐れ入ります。ご指導よろしくお願いします。インスタンスへの参照を渡す、をオブジェクトを渡す、と省略表現されている本が有ったりしまして、私のような初学者は分からなくなりますので
      先生の解説は有りがたいです。

  • @いつでも値引きされてる魚
    @いつでも値引きされてる魚 6 місяців тому +1

    先生の動画時々視聴してます🤩
    その場で動画見てなるほど!って思ってもすぐ忘れちゃうので定期的に見とかないと
    頭に定着しないです、、。😢
    COBOLエンジニアでしたが、
    今はJava扱ってます。
    Javaとなるとフレームワークの使い方も出てくるので覚える事が沢山で大変です😭

    • @SekaChan
      @SekaChan  6 місяців тому +1

      Javaはいろんな用語や技術が出てくるので、慣れるまで大変ですよね…
      COBOLの経験があればプログラミング自体はOKだと思うので、オブジェクト指向あたりを定期的に確認してもらうと定着しやすい気がします。
      僕もよくメソッド名とか忘れてAPIを調べたりしてるので、覚えるより理解できてれば大丈夫なのかなと思いますよ👍

  • @スーパードライ-z7o
    @スーパードライ-z7o Рік тому +2

    なんか「キリストが神そのものなのか、または神の言葉を聞くことが出来る人間なのか」が宗派によって意見が分かれている。
    …という話に似ているなあ、と感じました。人によって定義が異なるなら、教わる人によって解釈が分かれてしまう現実も分かりますね。
    軽い所に手が届く動画で助かりました、ありがとうございます。

    • @SekaChan
      @SekaChan  Рік тому +2

      オジーオズボボボボボーンさん、コメントありがとうございました!
      たしかに、その話に似てるかもしれませんね。
      人によって考え方が違うと争いの元になりやすいので、みんながお互いの考えを受け入れられたら良いなと思います😄

    • @スーパードライ-z7o
      @スーパードライ-z7o Рік тому +1

      @@SekaChan 返信ありがとうございます。
      ちなみに
      ×軽い所→〇痒い所でした。
      打ち間違いすみませんm(_ _)m

  • @FR030523
    @FR030523 Рік тому +2

    オブジェクトの中でインスタンスではない物は、具体的にどのような物になるのでしょうか?

    • @SekaChan
      @SekaChan  Рік тому +2

      H Oさん、コメントありがとうございました。
      (オブジェクトとインスタンスの解釈は人や場合によって変わるので、僕自身の考え方としてお答えします)
      僕はオブジェクトがメモリ上に実在していない(メモリは関係ない)場合、「インスタンス」ではなく「オブジェクト」という言葉を使うように意識しています。
      例えば
      『オブジェクト指向はクラスという設計図を基にして、たくさんの実物を作ることができる。この実物のことをオブジェクトという』
      のように概念的な説明をするときには、「オブジェクト」を使うイメージですね😄

    • @FR030523
      @FR030523 Рік тому +1

      @@SekaChan ありがとうございます。メモリ上にあるかどうかを一つの基準にすれば良いと理解できました。
      人の解釈は色々あると思いますが、この基準で最初に覚えておけば、あとは人に合わせて理解しなおせば良いと思いますので助かります。

  • @パンクリーム-f9y
    @パンクリーム-f9y Місяць тому

    そもそもインスタンス化する意味が分からないんですよね
    初心者は。
    クラスを作った時点でもうオッケーなんじゃないの? って思ってる
    実体化とインスタンスという言葉も結びつかない

    • @SekaChan
      @SekaChan  Місяць тому

      たしかに、そうかもしれませんね。
      クラスとインスタンスはJava基礎講座でしっかり理解しておいてほしいところです。

  • @okojo_MK
    @okojo_MK 7 місяців тому +1

    そもそもobjectとかいう一般的過ぎる言葉が良くないみたいなところありますよね…
    元の英単語の意味が抽象的かつあまりにも広いから…😭

    • @SekaChan
      @SekaChan  7 місяців тому +1

      そうですね😄
      元々はある条件下で動くいろいろなモノを全体的にシミュレーションするために生まれた考え方なので、モノを極限に抽象化したワードが「object」だったのかなと思います。

  • @dy2157
    @dy2157 2 роки тому +3

    大変わかりやすいご説明で勉強になりました。ありがとうございます。
    私は独学でExcelVBAを1年ほど学んでいるのですが、オブジェクト指向やクラスの考え方で躓いていたところ菅原さんのJavaの講座に出会い、プログラミングの概念や用語の理解を深めることが出来ました。
    一つご質問なのですが、今後もpythonやJavaScriptなどさまざまなプログラミング言語を学びたいと考えているのですが、同時並行で勉強するのが良いか、それとも一つずつしっかりマスターして次の言語に取り組むのが良いかなど、おすすめの勉強方法があればご教示いただけると嬉しいです。

    • @SekaChan
      @SekaChan  2 роки тому +2

      DYさん、コメントありがとうございました!
      僕の動画が参考になったようで良かったです。
      いくつかの言語を同時並行で勉強するか、1つずつマスターするか、はその人の性格や状況(学ぶ目的・期間・開発経験など)によって変わりますね。
      もし「3ヶ月後に初めてJavaWeb開発の案件が入った」みたいな切羽詰まった状況なら、Java一択でガンガン勉強するべきですから😄
      同時並行の勉強は時間がかかりやすいのでモチベーションを保つのが難しかったりしますが、DYさんなら大丈夫だと思います。
      ExcelVBAを1年学んでさらにJavaも勉強したことで、プログラミングやオブジェクト指向やの理解がより深まったわけですよね。これはグッジョブですよ👍
      各言語を比べながら特徴を深く理解できたり新しい発見が多くて楽しく勉強できたりするのが、同時並行ならではの良さです。
      ぜひ今のような勉強を進めていってください!
      (PythonやJavaScript、ExcelVBAあたりはこのチャンネルでもいつかやりたいなと思ってます)

  • @bleebkeno
    @bleebkeno 2 роки тому +2

    newしないでも使えるインスタンスはどういう位置付けになるんでしょうか

    • @SekaChan
      @SekaChan  2 роки тому +1

      ミドリのカエルさん、コメントありがとうございます!
      「newしないでも使えるインスタンス」って、例えばどんなものでしょう?🤔
      質問を質問で返しちゃってすみませんが、教えてもらえるとより具体的な回答ができるかなと思います。

    • @bleebkeno
      @bleebkeno 2 роки тому +2

      コメントありがとうございます。
      自分も詳しくないですが、例えばcalendarクラスはnewを使わないので気になりました。

    • @SekaChan
      @SekaChan  2 роки тому +1

      返信ありがとうございました。
      それはおそらく、Calendar.YEARやCalendar.DATEといった「Calendar.~」の記述のことかなと思います。
      これはインスタンスではなく、static変数やstaticメソッドの呼び出しですね。
      staticを使うと、インスタンスを作らなくてもクラス名から呼び出せるようになります。
      (文字だけでは分かりにくいと思うので、こちらの動画を参考にしてみてください → ua-cam.com/video/P9CVQ6IuquM/v-deo.html )

  • @miblg4198
    @miblg4198 11 місяців тому +1

    じゃあ、全部オブジェクトだけど、
    クラスオブジェクト(設計図)からできたインスタンス(実体=オブジェクト)ってことでw

  • @石井隆登-j5o
    @石井隆登-j5o Рік тому +1

    いつも楽しく拝見させていただいております。
    以前別の型の開設動画を見ていた際に、public定義したclass(Data)のオブジェクトを取得しフィールドとして保持する、という解説とともに以下のような記述がみられました
    private Data data;
    public ThreadTest (Data data){
    this.data=data
    }(コンストラクタ)
    この後、Dataに定義される別のクラスを呼び出す記述があるのですがこのようなnewを行わずに該当の別のファイルを操作できるケースというのはどういうことなのでしょうか。もしよろしければ教えていただけると幸いです。

    • @SekaChan
      @SekaChan  Рік тому +1

      いつも動画を見てくれてありがとございます!
      せっかくコメントしてくれたのに申し訳ないですが、質問が動画範囲外の内容であることと他の方が作ったプログラムに関するものであることから回答は控えさせてください。
      (おそらくこのプログラムを解説されている方に直接質問をしたほうが、プログラムの制作意図も踏まえてより確かな回答を得られるのではないかと思います)
      また、下記の動画を見てもらうと解決のヒントが得られるかなと思います。
      ua-cam.com/video/dzy1ipa20Kk/v-deo.html
      ua-cam.com/video/aecDJ0yN1oY/v-deo.html

    • @石井隆登-j5o
      @石井隆登-j5o Рік тому +1

      @@SekaChan承知しました!ありがとうございます!

  • @Ogasm
    @Ogasm 7 місяців тому +1

    コイツ神だろ

  • @益田明
    @益田明 Рік тому +1

    かなりわかりやすい説明ですね。
    モジュールの使い方の動画を作るでしょうか。

    • @SekaChan
      @SekaChan  Рік тому

      益田明さん、コメントありがとうございました!
      わかりやすいって感じてもらえて良かったです😄
      モジュールの動画は今のところ作る予定はないですね。