LoginSignup
0
0

More than 1 year has passed since last update.

IT未経験で「Java Bronze」合格を目指します!

Last updated at Posted at 2022-08-07

IT未経験で「Java Bronze」合格を目指します!

【概要】
・まきさん(仮名)と申します。
・30代前半で未経験からシステムエンジニアに転職を目指しています。
・すこしでも有利になればと思い、最初Java Silverを受験しましたが、正解率40%弱で完敗。。。
 →8/7(日)に下位資格であるJava Bronzeを受験しましたが、正解率51%でこちらも完敗。。。
・Java Bronzeは少なくとも受からないとまずいと思い、9月末までに再受験予定。
・毎日、勉強で気づいたことなどを投稿予定です。


【勉強1日目】
■オーバーライドとオーバーロードの違い

<オーバーライドのルール>
・戻り値、メソッドのシグネチャ(メソッド名、引数の型、数、順番)がすべて同じ。
・アクセスレベルが親クラスと同じか緩い制限であること(例:親クラスがprotectedなら子クラスはpublicかprotectedを指定可能)。
備考:必須ではないが、オーバーライドするメソッド名の上に@Override(オーバーライドアノテーション)を付与するとメソッド名が間違っている時にエラーが出て気が付ける。

<オーバロードのルール>
・継承したクラスのメソッドをオーバーロードする際に、同じクラス内ではシグネチャ(この場合は、メソッド名以外の引数の型、数、順番)が重複してはいけない(メソッド名以外のシグネチャがどれかひとつは異なる)。

<オーバーライドの例>

// MainクラスでクラスBをインスタンス化しgreetingメソッドを実行
public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		B b = new B();
		b.greeting();
	}
}

// 英語であいさつするクラスAを作成
public class A {

	public void greeting() {
		System.out.println("Hello");
	}
}

// Aクラスをオーバーライド(上書き)して日本語であいさつするクラスBを作成
public class B extends A {
	@Override
	public void greeting() {
		System.out.println("こんにちは");
	}
}

<オーバーロードの例>

// Addクラスのインスタンスを2つ生成して、引数の型が異なるaddメソッドを2つ実行
public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ

		// 整数型の合計を求めるパターン
		Add ad1 = new Add();
		ad1.add(1, 2);

		// 浮動小数点型の合計を求めるパターン
		Add ad2 = new Add();
		ad2.add(1.5, 3.5);
	}
}

// Addクラスの中に、それぞれ引数がことなるaddメソッドを実行
public class Add {

	public void add(int a, int b) {
		System.out.println("aとbの合計は" + (a + b) + "です。");
	}

	public void add(double a, double b) {
		System.out.println("aとbの合計は" + (a + b) + "です。");
	}
}

【勉強2日目】
■アクセス修飾子について

アクセス修飾子についての問題が苦手なので、調べてみました。

同じパッケージ内 同じパッケージ内 同じパッケージ 別のパッケージ 別のパッケージ
アクセス修飾子 同じクラス サブクラス 他クラス サブクラス 他クラス
public
protected ×
なし × ×
private × × × ×

【勉強3日目】
■プリミティブ型について(基本型8つ)
boolean
byte
char
int
short
long
float
double

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0