[Java]メソッドオーバーライド(メソッドオーバーライド)
🤔 過剰運転?
関係を継承する親クラスで、定義したメソッドを、子クラスで同じフラグを持つメソッドとして再定義します.
Javaでは、子クラスは親クラスの
継承方法は使用できますが、必要に応じて再定義できます.
メソッドオーバーライドは、親を継承するメソッドを再定義して使用することを意味します.
😉 上書き条件親クラスのメソッド名、戻りタイプ、パラメータ数、データ型、および順序を子クラスに統一して記述する必要があります. の親メソッドに比べて、アクセス制御者をより小さな範囲に変更することはできません. 親メソッドよりも広い範囲の例外は宣言できません. 📃 メソッドオーバーライドの例
負の通帳の例では、親Accountクラスの取り消し方法を子クラスMinusAccountクラスから上書きします.
Account.java
オーバーロード(リロード)は新しいメソッドを定義します.
上書きは、継承を再定義する既存のメソッドです.
参考資料
http://www.tcpschool.com/java/java_inheritance_overriding
https://blog.naver.com/PostView.naver?blogId=heartflow89&logNo=220961515893&redirect=Dlog&widgetTypeCall=true&directAccess=false
Doit Javaを完全に征服
関係を継承する親クラスで、定義したメソッドを、子クラスで同じフラグを持つメソッドとして再定義します.
Javaでは、子クラスは親クラスの
private
メンバーを除くすべてのメソッドを継承します.継承方法は使用できますが、必要に応じて再定義できます.
メソッドオーバーライドは、親を継承するメソッドを再定義して使用することを意味します.
😉 上書き条件
負の通帳の例では、親Accountクラスの取り消し方法を子クラスMinusAccountクラスから上書きします.
Account.java
class Account {
//(...)
//출금하다.
public int withdraw(int amount) throws Exception {
if(balance < amount) {
throw new Exception("잔액 부족");
}
balance -= amount;
return amount;
}
}
MinusAccount.java
public class MinusAccount extends Account {
private int creditLine; //마이너스 한도
public MinusAccount() {
}
public MinusAccount(String accountNo, String ownerName, int balance, int creditLine) {
super(accountNo, ownerName, balance);
this.creditLine = creditLine;
}
//Account 에 있는 withdraw 메소드는 적합 하지 않아
//MinusAccount 클래스에서 재정의
//=> 메소드 오버라이딩 : 부모의 메소드의 시그니쳐 일치(리턴형, 메소드이름, 파라미터(갯수, 데이터형), 예외관련)
@Override
public int withdraw(int amount) throws Exception {
if(getBalance() + creditLine < amount) {
throw new Exception("잔액 부족");
}
int balance = getBalance();
setBalance(balance - amount);
return amount;
}
}
🗒 過負荷と過負荷の違いオーバーロード(リロード)は新しいメソッドを定義します.
上書きは、継承を再定義する既存のメソッドです.
参考資料
http://www.tcpschool.com/java/java_inheritance_overriding
https://blog.naver.com/PostView.naver?blogId=heartflow89&logNo=220961515893&redirect=Dlog&widgetTypeCall=true&directAccess=false
Doit Javaを完全に征服
Reference
この問題について([Java]メソッドオーバーライド(メソッドオーバーライド)), 我々は、より多くの情報をここで見つけました https://velog.io/@junbeomm-park/Java-메소드-오버라이딩Method-Overridingテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol