6日目③(2025.02.05)<Objectについて>


お疲れ様です!!
続きです!!

【Objectについて】

次はObjectについてですが、Tim先生の話の自動翻訳が少し分かりにくく、自分で調べることに、、

Objectには、「プリミティブ型(データ)」と「メソッド(動作)」が入っている。
カレーに例えると、
「材料(プリミティブ型)」と「レシピ(メソッド)」を掛け合わせることで「カレー(Object)」ができあがる。

みたいな感じですね!!

ここにきて、前にも勉強したかもしれないんですけど「プリミティブ型って何??」状態になってました。
なので、調べると、

プリミティブ型は、データ型であり、数字、文字などのデータを格納する。
int、double、flort、char、boolean、byte、short、long
など。

オブジェクト型は、上に書いた通り、データと操作をまとめたもので
・文字列(String)
・日付(Date)
・配列(int[]、String[])
・など。


【Object、Class、methodの関係】

Tim先生の話を聞いているうちに、
「そもそも、ObjectとClassとmethodってどういう関係??」
という疑問にぶち当たりましたので、そこも調べてみました。

ノートに書いた図を載せておきます。
(文字で書くより、分かりやすいかなと思ったので)



【mainメソッドについて】

これまで全く気にしていなかった、
public static void main(String[]args){

についてもTim先生の説明と自分で調べたものをまとめました!!

public → どのクラスからでもアクセス可能
static → このメソッドは、クラスレベルで実行され、オブジェクトを作らなくても、
     クラス名を使って呼び出すことができる。

void → プログラムの開始点としての動作のみで、void自体は値等を返すことはない。
main → mainは、メソッド名で、機械のスタートボタンのようなもの。
    これがないとプログラムは動かない。
args → 指示をargsに入れることで、mainメソッド内で使うことができる。


ふむふむ、なんとなく理解できた!!

Tim先生が実際にコードを書いて説明してくださりました!!

public static void main(String[]args){

tim(Timmmm”,4);
}

public static void tim(String str,int x){
for(int i = 0;i < x;i++){
System.out.println(str);
}
}
}




Timmmm
Timmmm
Timmmm
Timmmm


timというメソッドを作成(文字列”Timmmm”と整数4)

「メソッドtimは(String str,int x)です」と定義

x内をループさせるために、int iを定義、iはx(4)以下の範囲で、1ずつ増えながらループする。

文字列strを出力

こういった感じでしょうか。





【1つのクラスにpublic static void~を複数書く理由】

勉強している時に、
「なんのためにpublic static void~を複数書くの??」
という疑問が突如湧いてきましたので、調べました!!

理由としては、
「1つのメソッドで色々書いたらややこしくなる!!」
ということらしいですね。

確かにそうかも、、、

ということで、メソッドごとに役割を持たせてそれぞれで定義していこうっていう話でした。

1つのクラスにメソッドを複数入れることで、
同じクラス内なら別のクラスのメソッドを組み込むことができるというメリットがあるということですね!!

Tim先生のコーディングに倣ってコーディング!!

public static void main(String[]args){
System.out.println(add2(6));
}
public static int add2(int x){
return x + 2;
}
}




8


ここでまた疑問、、、
「System.out.println」と「return」って、何が違うの??

この例だと、System.out~って使ってるけど、returnの結果をコンソール画面に表示させるだけの例もあったので、疑問に思いました。

はい、AI先生お願いします!!

【System.out.printlnとreturnの違い】

System.out.println:
画面表示を目的としている。
プログラムの動作確認や、ユーザーに情報を見せる時に使う
(計算結果やメッセージなど)

動作としては、画面に表示させた後、処理はそのまま進む

return:
メソッド内で処理した結果を呼び出し元に渡すことを目的としている。
他の処理で利用したり、変数に代入したりできる。

動作としては、returnが実行されると、メソッドはそこで処理を中断し、呼び出し元に戻す。
返り値がある場合は、それを呼び出し元に戻す。

(レストランの例)

★System.out.println
自分「すみません、ハンバーグ定食をください」(画面表示)
店員さん「かしこまりました」(処理は続く)

★return
自分「すみません、ハンバーグ定食をください」
店員さん「少々お待ちください」(調理開始)
・・・待つ・・・
店員さん「お待たせしました、ハンバーグ定食です」(return)
自分「ありがとうございます」(受け取って食べる)


なんとなくイメージはできるようになった!!
まあ、使っているうちに分かってくるかな!!

ということで、Object、そして、メソッド分けについてでした!!

まだ6日目は続きます、、、

この記事から、ノートの写真を入れ出したのですが、どうかな??
ちょっとこんな感じでやっていこうかな!!

ではでは!!

コメントを残す