【有料級】JavaでDB接続するJDBCプログラミングを完全解説【JavaDB講座 総集編】
【JavaDB入門講座】 の動画(全12回)を1本にまとめました🎉
JavaでDB接続する仕組みからSQL、JDBCプログラミング、さらにwebアプリとの連携まで、DB処理に必要な知識が網羅的に身につきます!
⭐無料&楽しく勉強できる場所を作りたい!そんな想いで授業動画を作ってます😁
→チャンネル登録/高評価/周りにオススメ で応援してもらえると嬉しいです✨✨
🌸チャンネル登録はこちら!
kzread.info?su...
📙授業ノートはこちら!
bit.ly/3RLhgKT
📄プログラムはこちら!
bit.ly/3WRY1OH
※右クリックでダウンロードできます(webブラウザ上で開くと文字化けする可能性あり)
👀関連動画はこちら!
▼Javaの始め方(基本1章 総集編)
• 【Java入門講座 総集編】40分でJava...
▼Javaの基本文法(基本2章 総集編)
• 【Java入門講座 総集編】超初心者歓迎!J...
▼オブジェクト指向-入門編-(基本3章 総集編)
• 【2時間で完全マスター】オブジェクト指向の考...
▼オブジェクト指向-応用編-(基本4章 総集編)
• 【完全マスター】継承やポリモーフィズムの考え...
▼例外処理(基本5章 総集編)
• 【この1本でOK】例外の種類から例外処理のプ...
▼クラスライブラリ(基本6章 総集編)
• 【この1本でOK】クラスライブラリやAPIド...
▼サーブレット/JSP(webアプリ 総集編)
• 【有料級】初心者向けにサーブレット/JSP/...
💡チャプター
00:00 オープニング
00:52 DB接続の仕組み( • 【JavaDB1】DB接続の仕組みやJDBC... )
08:58 環境構築( • 【JavaDB2】MySQLとJDBCドライ... )
27:20 SQL入門( • 【JavaDB3】SQLとは何かがわかる初心... )
41:46 SQLでデータ操作( • 【JavaDB4】よく使うSQL(SELEC... )
53:03 SQLで条件指定( • 【JavaDB5】SQL文で条件指定するwh... )
1:03:52 JDBC 更新処理( • 【JavaDB6】超重要!JDBCプログラミ... )
1:20:37 JDBC 検索処理( • 【JavaDB7】この1本で完璧!検索と更新... )
1:36:02 PreparedStatement( • 【JavaDB8】処理を高速化するPrepa... )
1:47:43 webアプリとDB連携( • 【JavaDB9】WebアプリからDB接続す... )
2:02:30 DAO( • 【JavaDB10】DAOとは何かや使うメリ... )
2:16:03 DTOとEntity( • 【JavaDB11】DTOとEntityとは... )
2:36:49 webアプリでDB更新( • 【JavaDB12】webアプリからデータベ... )
🙋♂️プロフィール
【せかチャン 菅原】
・東京工業大学大学院 情報理工学研究科 卒業
・大学生、大学院生のときに5年半塾講師
・IT研修講師として情報技術、プログラミングのセミナーを企画・実施
・Oracle社より「Instructor of the Year(満足度日本一)」「Java講師賞」を4年連続受賞
「分かった!」と言ってもらえる瞬間、勉強を楽しいと感じてもらえる瞬間が好きです。
フリーラーニング(無料で学べる場)を広げたいと思ってKZreadをはじめました。
一緒に楽しく勉強&成長していきましょう!
📳Twitter
/ sekachanit
🎵音源提供
DOVA-SYNDROME
dova-s.jp/
※動画によっては使用していない場合があります
#Java #プログラミング #せかチャンのJavaDB講座 #せかチャン
Пікірлер: 82
はきはきと喋られている明るい雰囲気なので学ぶ元気がもらえます。他のチャンネルにはない良さだと思います。
@SekaChan
5 ай бұрын
ありがとうございます! 僕もみなさんのコメントから元気をもらってます😄
これをタダで見れるなんて、凄いサービス。おかげで、データベースを使ったWEBアプリの構築がよく分かりました。
@SekaChan
Жыл бұрын
コメントありがとうございました! webアプリ+DB連携の理解が深まったようで良かったです。 実は、これはリアルのセミナーだと数十万円するような内容です。 僕もKZreadでいろいろ勉強させてもらってるので、自分にできることで還元できたらなって思ってます!
見終わったー相変わらず完璧な教え方ですありがとうございます! ここ1週間くらいずっとせかチャンの動画見てましたこの動画もまた見返します だいぶ知識ついたのでwebアプリ色々と作ってみます! また今度知りたい分野の講座が登場したら見ます!
@SekaChan
11 ай бұрын
うちゃさん、コメントありがとうございました! 1週間でDB編まで見られちゃうなんてスゴイですね。 かなりの知識をインプットできたと思うので、次はアウトプットできるレベルを目指しましょう! ぜひいろんなプログラムを作ってみてください!
せかチャン 菅原さんの説明が、有料教材よりも優しくて分かりやすいと感じているので、せかチャンを優先して観ています(笑)Javaシリーズは、【Javaの始め方】から全部2回ずつ視聴していますが、やっぱり後半になるほど難しく、理解が追い付かないところもでてきています(私としてはポリフォーリズムのあたりから頭がオーバーヒートし始めました(笑))ただ、とっても丁寧に説明してくださってるのは伝わってますので、繰り返し復習していくことで少しずつ自分の物にしていければいいな、と思います。配信、感謝します!ありがとうございます!
@SekaChan
8 ай бұрын
柏木さん、コメントありがとうございました! もうデータベース編の動画まで見てくれたんですね。しかも全部2回ずつなんてすごく速い! そうやって全体の動画を繰り返し見てもらうと全体像を把握しながら理解を深めていけるので、とても良い勉強方法だなぁと感じました😄 ポリモフィズムも含めて最初は難しいって感じる内容も多いと思いますが、少しずつ「分かった!」と思える部分を増やしていってもらえたら嬉しいです。
見たかったやつや😂
@SekaChan
5 ай бұрын
ここまで深堀りしてる動画はなかなかないので、ぜひ活用してください😄
Java silver受験に向けて勉強に取り組み始めましたが、もう悲しいくらいに無知識で、、、意気込んで試験勉強3ヶ月で受ける!と決めていたのに、、その月が2月ですが、正答率半分もいかず。。。せかちゃんみてがんばろうとおもいます。😢✨
@SekaChan
Жыл бұрын
S Tさん、コメントありがとうございました! JavaSilverって結構マニアックな内容が出てきますからね。 勉強3ヶ月目で正答率が半分いっていなくても、全然気にする必要はないと思います👍 むしろ、JavaSilverにチャレンジしようと覚悟を決めたこと。 そして、2ヶ月以上も頑張って勉強を続けてきたこと。 これだけでも十分胸を張って良いことですよ! 近日中に「Javaの効率的な勉強方法」や「プログラミング学習につまづいたときの対策」の動画を出します。 きっと参考になると思うので、そちらもぜひ見てみてください!
この動画明日までに見終える🔥まだ始まって10分くらいだけど、2回見直しつつ自分でも図解書いてみたら理解度が凄い、、!
@SekaChan
11 ай бұрын
blackbirdさん、コメントありがとうございました! データベース編の動画をすべて理解できれば、相当な実力がつくと思いますよ👍 ぜひ頑張ってください!
楽しく拝見しております。DBの更新処理についてはSQLインジェクションが発生する可能性がありそうですがPreparedStatementを使った方式のほうが良いのではないでしょうか
@SekaChan
Жыл бұрын
ちもね*さん、コメントありがとうございました! その通りですね。SQLインジェクションの可能性を考えると、PreparedStatementの方が適切だと思います。 webアプリは他にもセキュリティの脆弱性があるため、どこかのタイミングでwebセキュリティに関するプログラミングの解説動画を作れたら良いなと考えています😄
配信ありがとうございます!勉強させていただいております! 板書、動画編集など・・・丁寧でとても見やすいです。 このチャンネルは、いい意味で教えたくないチャンネルの1つです(^O^)/ これからもよろしくお願いいたします😊
@SekaChan
Жыл бұрын
kp KP&さん、コメントありがとうございました! 板書や動画編集は「分かりやすさ」につながればと丁寧にやっているので、そう感じてもらえて良かったです! せかチャンは動画を見てくれる視聴者さんがいるおかげで続けられているので、このチャンネルのこと、もし良かったら周りに教えてあげてください😄
いつもわかりやすい解説動画ありがとうございます。 先日Java silverに合格し、今度はSilver SQLの資格取得を頑張っているのですが、今後解説動画を出す予定はありますか??
@SekaChan
Жыл бұрын
いつも動画を見てくれてありがとうございます! また、Java Silver合格おめでとうございます。さらにSilver SQLも狙ってるんですね。ぜひ頑張ってください! SQLはそれほどリクエストが多くない分野なので、今のところ解説動画を出す予定はないですね。
なるほど DBでも最初にクラスを宣言して処理ごとにインスタンス化するみたいなことができるんですね 賢い…
@SekaChan
5 ай бұрын
入門講座6章で解説したクラスライブラリと同じように、DB関連の処理が用途ごとにクラス別にまとめられているイメージですね。
配信ありがとうございます。 今回DBと接続するのにDriverManegerが使われていると思います。私がみている参考書ではDataSourceが出てきます。 違いや、使う場面などあれば教えてください。
@SekaChan
Жыл бұрын
abcdefghitoshiさん、コメントありがとうございました! DriverManegerとDataSourceは、両方ともDBに接続する機能をもつものですね。 DBへの接続情報をコード内に書く(DriverManeger)か、別のところに登録しておく(DataSource)かで違いがあります。 詳しくはこの動画やその参考書を見てみてください😄
非常にわかりやすい解説ありがとうございます! 初歩的な質問になってしまい申し訳ないのですが、APサーバとDBサーバの接続をしなくてもDriverManagerでDB接続ができるのでしょうか?
@SekaChan
8 ай бұрын
山田太郎さん、コメントありがとうございました! 「APサーバとDBサーバの接続」が(いろんな意味にとらえられる表現なので)具体的にどんなことを指しているのか分からないですが、この講座ではAPサーバにDBサーバとの接続情報を持たせるようなことはしていないですね。
いつもわかりやすい説明ありがとうございます。サンプルプログラムをダウンロードして動作を確認することができて非常に有効な動画だと思いました。一つ質問なんですが、StudentDTOのclassファイルは問題と思いますが、ソースをコンパイルするとStudentBeanの部分がすべて「エラー: シンボルを見つけられません」となってしまって、いろいろと試していますがどうにも解決できません(ほかのjavaソースはすべてコンパイルOKでした)。importすべきものもないようだし、スペルも間違っていないようなのですが、何か心当たりがあればご教示願います。
@SekaChan
Жыл бұрын
いつも動画を見てくれてありがとうございます! 直接的な理由は分かりませんが、パッケージ化したクラスをコンパイラが見つけられていないようですね。 念のため一度作ったclassファイルはすべて削除してもらって‥ ・*.java でコンパイルする方法とjavaファイルを1つひとつコンパイルする方法を両方試す ・呼び出される側のクラスから順番にコンパイルする ・javaファイルとclassファイルの配置を変えてコンパイルする このあたりを意識してみてもらえたらと思います。
@user-il2lp9rh2r
Жыл бұрын
@@SekaChan *.java でコンパイルする方法で実施したら「エラー: クラス StudentDTOはpublicであり、ファイルStudentDTO.javaで宣言する必要があります、」という基本レベルのメッセージに変わりました。ファイル名とクラス名は同じに見えましたが、参照系の動画からコピーした同じ処理内容のStudentDTOで実施したところコンパイルは問題なく実施できました。*javaでコンパイルすると問題なくクラスができたのに、javaファイルを1つひとつ実施すると事象が変わらないです。コンパイルは呼び出される側から(StudentBean -> StudentDTOの順番で実施)。とりあえずclassができたので一安心です。ありがとうございました。
1:09:35
配信ありがとうございます。MySQLを動画通りにダウンロードすると途中でVisual Studioのインストールが必要と出てきて作業が進められません。この場合、Visual Studioをダウンロードするべきなのでしょうか?
@SekaChan
Жыл бұрын
cream iceさん、コメントありがとうございました! 僕の環境にはVisual Studioはインストールされてないですね。 Visual Studioや関連機能を使わないのであれば、ダウンロードしなくても大丈夫かなと思います😄
@user-qj9nx7fc4f
Жыл бұрын
返信ありがとうございます。 再度MySQLをインストールしてみると、Documentationとsample以外ダウンロードできず、Serverの設定でエラーが出てきました。 この場合、VIsual Studio 2019を入れてみたほうがいいですか?他にも方法がありますか?
DTOとentityの動画内についてご質問です。 jsp内の17から19行目でsdtoのgetメソッドにてリスト内の情報をstudentbeanのsbに格納していますが、このsbのインスタンス生成はいらないのでしょうか。 ご教示お願いいたします。
@SekaChan
9 ай бұрын
大谷友亮さん、コメントありがとうございました。 StudentBeanのインスタンスはDAOで生成されて、DTOに格納されています。 JSPではそのDTOをリクエストスコープから取り出して使っているので、ここで新しくインスタンスを生成しなくても大丈夫ですね。
@317yusukemheat
9 ай бұрын
なるほど!ありがとうございます。 追加で質問です。 DTOとentityの動画内についてご質問です。 ShowStudentServletクラスで全件検索した結果のsdaoをsdtoに格納していますが、sdtoのインスタの生成は不要なのでしょうか。 ご教示お願いいたします。
仕事が早いですね笑
@user-lj2jc8zy9h
Жыл бұрын
次の講座決まっているのでしょうか??😊
@SekaChan
Жыл бұрын
さんかめはめさん、コメントありがとうございました! JavaDB講座は前後のつながりが濃いので総集編動画の方が勉強しやすいかなと思い、このタイミングのアップになりました😄 次の講座はもう撮り始めていますが、いつスタートするかは未定ですね。
@user-lj2jc8zy9h
Жыл бұрын
@@SekaChan ありがとうございます! 助かります! 楽しみです!!
いつもとても分かり易い解説ありがとうございます。 最後のサンプルプログラムを実装し実行すると、 java.lang.NullPointerExceptionが出ます。 EditStudentServlet.java の String btn = req.getParameter("btn"); でbtnの値を取得すると思うのですが、 btnの値がnullになっていまして(コンソール出力で確認)、 その後の if(btn.equals("追加")){ ・・・ のところで、 参照値がnullのオブジェクトに対してメソッドを呼び出そうとして java.lang.NullPointerException が出ていると思うのですが、 なぜ、btnの値がnullになってしまうのでしょうか? 環境は、Eclipseです。 ご教示頂けますと嬉しいです。 よろしくお願い申し上げます。
@user-ti4jh8mz7c
Жыл бұрын
HTMLファイルの のvalue属性『追加』を『add』のように英語に(他の3つのボタンも)変更したら 上手くいきました。 文字コードの問題かと思いました。。。がそんなことはないはずと、 再度、value属性『add』を『追加』へ変更したら、その後はエラーが出なくなりました。。。 そんなことってあるのでしょうか?・・・
@SekaChan
Жыл бұрын
うらきこージィさん、コメントありがとうございました! タグのname属性は正しくbtnになっていますし、文字コードに問題があるというのもたしかに考えにくいです。 何より、「追加」に戻した後にエラーが出なくなったというのが妙な動きですよね🤔 属性値を指定する「"」を全角で一度保存しちゃって、そのキャッシュがどこかに残ってた?というのも考えてみましたが、可能性として低そうな気もします。 明確な回答ができずに申し訳ありませんが、ちょっとこの文面だけだと原因がつかめないですね‥ もしまた同じようなことが起こったら、タグでmethod="GET"を指定してみてください。 ブラウザのアドレスバーにパラメータ情報が表示されるので、実際に送られている文字列を確認できます(日本語は化けてしまいますが)。
分かりやすい説明ありがとうございます。 質問ですが、 「webアプリでDB更新」を自分なりに書き換えて動かして見たのですが、追加をしてもmysqlに追加されません。 DB内にコマンドプロンプトから入力したものはブラウザの「表示」で確認できます。 考えられる原因はどこでしょうか? 個人的には、public int insertが怪しいと思ってます。 また、すべて文字列で受け取っている場合、書き方は String sql = "INSERT INTO student VALUES( ' " + no + " ' , ' " + name + " ' , ' " + score + " ' ) " ; であってますか? ※「no」や「name」等はHTMLに入力した値はmsgで表示できました。 初歩的な質問だと思いますがご教授いただければ幸いです。
@SekaChan
9 ай бұрын
ほとくれないさん、コメントありがとうございました。 そういう「コンパイルは通るけど実行してもうまくいかない」ときって、結構バグ取りが難しいんですよね💦 DB処理がうまくいかないときは、System.out.println( sql ) などで実行しているSQL文そのものを出力すると間違いに気づけることが多いです。 ちなみに、そのSQL文だと no と score を '~' で囲んでしまっているため、文字列として追加しようとしてしまいます。 配布のサンプルプログラムも参考にしてもらって、no や score を囲んでいる ' を除いてみてください。
すみません、この動画を見て作ろうとしたんですが、8.0.35では少しセットアップの手順が変わっていたので、説明動画のアップをお願いします。
@SekaChan
8 ай бұрын
燈雄榮さん、コメントありがとうございました。 この前のeclipseのときと同じような回答になってしまい申し訳ないですが、旧バージョンの動画しか作れていないのは不親切だと感じつつも、最新バージョンの動画を作り続けることが難しい部分もあります。 今のところ最新バージョンの説明動画を撮る予定はないため、動画と同じバージョンのインストーラをダウンロード(Archiveからダウンロード可能です)して使ってもらうか、最新バージョンをインストールしたい場合は他の方の動画やwebサイトを参考にしてもらえたらと思います。
菅原先生、いつもありがとうございます。 「WebアプリとDB連携」のsampleプログラム(先生と同じソースコード)をEclipseで実行したら、「noが1の生徒名はnullです」と表示してしまい、どう解決すれば良いでしょうか? お忙しいところ恐縮ですが、宜しくお願い申し上げます。
@SekaChan
Жыл бұрын
P Sさん、コメントありがとうございました! 生徒名がnullになってしまうのはよくもらう質問なんですが、原因がいろいろあり得るので特定が難しいんですよね💦 公開しているサンプルプログラムをそのまま動かしているのならDB側に原因がありそうですし、自分でプログラムを作ったのならプログラム側に原因(特に多いのはSQL文の誤り)があるのかもしれません。 ちなみに1ヶ月前に同じ質問をしてくれた方は、もう一度最初からやってみたら正しく実行できたみたいですね。
@user-gp7ws4nd7m
Жыл бұрын
菅原先生、いつもお世話になっております。nullの原因分析して頂き、どうもありがとうございました。 以前の動画のサンプルプログラム(普通のjavaプロジェクト)を作った時、ちゃんとMySQLと接続し、データを取ってくれましたが、今回の動的プロジェクトを作ったら、nullになってしまいました。 原因がよくわからないですが、今のMySQLの代わりにXAMPPで試したいかなと思います。お忙しい最中、ご返信頂き、どうもありがとうございました。
基本的な質問かもしれませんが、StudentDA03で 下記の部分のシングルコーテーション" ' " がないと確かにデータを拾いませんが、この" ' "はエスケープ文字でもなさそうですが、どのような機能なのでしょうか?お手数ですがご教示願います。 public int insert(int no, String name, int score) { String sql = "INSERT INTO student VALUES ("+ no + ", '" + name + "', " + score1 + ","+ score2 + "," + score3 + ")";
@SekaChan
11 ай бұрын
コメントありがとうございました。 「'」はSQL文で文字列を囲むときの記号ですね。 例えば 45:36 からINSERT文の例として > INSERT INTO student VALUES(1, '菅原', 80) を紹介しましたが、「菅原」を囲んでいる「'」のことです。
@user-il2lp9rh2r
11 ай бұрын
ご回答ありがとうございます。細かい部分の質問にも答えていただいて本当に助かりました。
お世話になっております。「MySQL」をインストールしている際に Windows(x86,32-bit),MSI Installer 8.0.32 2.4Mを選択しますとその先の画面の内容がここで説明されているのとは ちがってまして、そのままま続けて良いかわからないなりインストールを中止しました。ダウンロードする容量も2.4Mと少なくて、後続の画面で表示されるソフトの数も少ないです。よろしくお願いいたします。
@SekaChan
Жыл бұрын
半澤博さん、コメントありがとうございました。 確認したところ、インストーラのバージョンが8.0.32に上がったみたいですね。 マイナーチェンジなのでMySQLのコアとなる部分を同じようにインストール・設定できれば大丈夫かなと思いますが、どうしても不安という場合は、画面上のタブ「Archives」から動画と同じバージョン(8.0.31)をダウンロードすることも可能です👍
@user-tt3oj3sp1n
Жыл бұрын
@@SekaChan コメント頂きありがとうございます。「Archives」から同じバージョンを ダウンロードすることにいたします。
もう少しで終わるところだったんですが、DAOのところで、ShowNameServlet2.javaをコンパイルしてみると下記のシンボルだけエラーになってしまいます。 シンボル: クラス StudentDAO 場所: クラス ShowNameServlet2 ShowNameServlet2.java:11: エラー: シンボルを見つけられません StudentDAO sdao = new StudentDAO();
@JI-py3xf
5 ай бұрын
解決しました。すみませんでした。tomcat10にしたので、-classpathをつけてたんですが、StudentDAOも-classpathで指定してたところから探しているらしく、-sourcepathでファイルのある場所を指定しないと駄目でした。 javac ShowNameServlet2.java -classpath C:\apache-tomcat-10.1.19\lib/servlet-api.jar -sourcepath C:\apache-tomcat-10.1.19\webapps\dbweb\WEB-INF\classes
表示される名前がnullになる場合どうしたらいいですか?
@SekaChan
Жыл бұрын
名前として表示されるはずのデータが、どこかでうまく渡されていないのだと思います。 どのサンプルで名前がnullになってしまうのかが分からないので具体的なことはいえませんが、HTML→JavaやDB→Javaなどデータの受け渡し部分を確認してみてください。
直接本動画のソースではありませんが、今回2度目の質問になります。 以下の記述後、excuteUpdateでsqlを実行するのですが、 String sql = "INSERT INTO testtable(id,name,price) " + "VALUES('" + id + "','" +name + "'," + price + ")"; 確かに正しく実行されるのですが、この指定( '"" + 変数 + "')の意味がいろいろ調べてもわからず閉口しています。 何かヒントになることがあればご教示願えないでしょうか?
@SekaChan
6 ай бұрын
動画外のソースなので詳細は省きますが、一般的に変数の値について疑問を感じたときは、その値を出力してみると意味を理解しやすいケースが多いですね。 この場合も System.out.println( sql ) で出力してみると、' や " の意味合いが分かりやすいですよ。 (また、この記述は動画内で解説した気がするので必要であれば探してみてください)
@user-il2lp9rh2r
6 ай бұрын
JavaDB12にありました。引数で渡された文字列を+で連結してsql文を作成しているんですね。System.out.printlnにslqを参照すべきでした。それぞれの変数を指定して確認していたので解決に至りませんでした。適切なアドバイスありがとうございました。
1:00:34 mysql> use sampledb; Database changed mysql> source where.sql; ERROR: Failed to open file 'where.sql', error: 2 エラーが出るのですが、解決ができません。 調べまくっても、直接URL指定しようにも、どこにフォルダがあるのかもわかりませんし・・・。 mysqlのフォルダに入ってないんですよねぇ・・・。sampledb。 それ以降は問題なくできました。
@SekaChan
Жыл бұрын
神集場出雲_ZooBeeさん、コメントありがとうございました。 「where.sqlを開けない」というエラーなので、mysqlコマンドを実行する際のカレントディレクトリ(動画では C:\Java )内にファイルがあることを確認してみてください。 sampledbのほうは問題なさそうな気がします😄
すみませんConnectionとStatementはオブジェクトではなくクラスではないんですか?
@SekaChan
Жыл бұрын
iis zjakさん、コメントありがとうございました。 厳密にいうと、ConnectionとStatementはインタフェースですね。 getConnection()やcreateStatement()では、これらのインタフェースを実装したクラスのオブジェクトを取得しています😄
ありがとうございます!いつも楽しく視聴させていただいてます! 一点質問があります。StudentDTO.javaで以下の書き方が出てきますが、最初のStudentBeanは引数の型、次のStudentBeanは戻り値の型であってますでしょうか。 メソッドの定義をしている箇所なのかと思いますが、この記述が見慣れず、それぞれどういう構造なのかわかってないかもしれないです、、よろしくお願いします。 public void add(StudentBean sb){ list.add(sb); } public StudentBean get(int i){ return list.get(i); }
@SekaChan
Жыл бұрын
Pon Ponさん、コメントありがとうございました。 いつも動画を見てくれてありがとうございます! StudentBeanについては、その認識(引数の型と戻り値の型)で合ってますよ👍 もしメソッドの定義方法に不安な部分があれば、こちらの動画を見てもらうと理解が深まるかなと思います。 ●【Java入門講座】3-2 設計図クラス kzread.info/dash/bejne/nIefk6WzhMfWXbQ.html