Method オーバーローディング
同じ名前のMethodに、パラメータのタイプ、個数、順序が異なるメソッドを宣言んすることだ。
<Library Class>
package ch06.sec08.exam04;
public class Calculator {
//정사각형의 넓이
double areaRectangle(double width) {
return width*width;
}
//직사각형의 넓이
double areaRectangle(double width, double height) {
return width*height;
}
}
<Main Class>
package ch06.sec08.exam04;
public class CalculatorExample {
public static void main(String[] args) {
//객체 생성
Calculator myCalcu = new Calculator();
//정사각형의 넓이 구하기
double result1 = myCalcu.areaRectangle(10);
//직사각형의 넓이 구하기
double result2 = myCalcu.areaRectangle(10, 20);
System.out.println("정사각형 넓이=" + result1);
System.out.println("직사각형 넓이=" + result2);
}
}
<RESULT>
정사각형 넓이=100.0
직사각형 넓이=200.0
Member
種類 | 説明 |
Instance Member | オブジェクト(Instance)に所属しているメンバー (オブジェクトを生成するおとで、使用できる) |
Static Member | Classに固定されているメンバー (オブジェクトなしでも、使用できる) |
Instance Member
Car myCar =new Car(); Car yourCar = new Car();
myCar.gas = 10; yourCar.gas =20;
myCar.setSpeed(60); yourCar.setSpped(80);
インスタスメンバーはオブジェクトに属ているメンバーだ。
gasフィールドは、ヒープ領域のそれぞれのオブジェクトに属している。
しかし、メソッドはオブジェクトではなく、メソッド領域に保存され、共有されている。
Static Member(Class Member, 静的メンバー)
静的メンバー(static member)と呼びあれ、静的フィールドと静的メソッドがある。
JavaはClass loaderを利用して、クラスをメソッド領域に保存して、使用する。
静的メソッドとは、メソッド領域のクラスに固定して位置しているメンバーだ。
そのため、静的メンバーはオブジェクト(インスタンス)を生成せずに、
Classを経由してすぐ使用することができる。
1. クラスを呼び出すことで、どこでも利用できるため、グロバール変数としても活用される。
こちらが一番大きな目的だ。
2. 静的フィールドはインスタンスが生成されても持たない。共通的に利用されて欲しいデーターを静的フィールドにする。(例>Math.PI )
3. 静的メソッドは主に同じロジックを持っているクラスでアーギュメントを処理することも多い。
(例>Math.add(1,2))
https://blog.naver.com/heartflow89/220954420688https://m.blog.naver.com/PostView.naver?
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=heartflow89&logNo=220959033435
<注意点>
Static Memberは、Instance Memberを使用することができない。
Instance Memberは、Static Memberを使用することができる。
たこ焼きがたこ焼きの機会に属性を変更することは変実ではできるが、
JAVAではできるため、要注意だ!
Static block
Static Fieldはフィールド宣言と同時に宣言することが一般的だ。
static double pi = 3.14159;
しかし、複雑な初期化が必要な場合は、static blockを利用する。
static String company = "MyCompany";
static String model = "LCD";
static String info;
static{
info = company + "-" + model;
}
'IT自主学習 (2023.05.23~) > Java(2023.05.23~)' 카테고리의 다른 글
プログラミング自主学習 44日目 全体復習/アクセス修飾子/Getter・Setter/Singletone (0) | 2023.07.09 |
---|---|
プログラミング自主学習 43日目 final・constant/package・import (0) | 2023.07.08 |
プログラミング自主学習 41日目 Constructor/method (0) | 2023.07.06 |
プログラミング自主学習 40日目 Class/field/constructor (0) | 2023.07.05 |
プログラミング自主学習 39日目 Enum/Object (0) | 2023.07.04 |