μ΄μ μ κΈμ μ½λ보λ€λ μ΄μ§λ λμ΄λκ° μμ§λ§ λΉμ·ν λ΄μ©μ΄λ μ΄ν΄νλλ°μλ λ¬Έμ κ° μμ κ²μ΄λ€.
κ³μ’μ μμ‘μ νμΈνκ³ μ κΈ μΆκΈμ νλ μ½λμ΄λ€.
λ§μ΄λμ€ν΅μ₯κ³Ό μ μΆν΅μ₯μ μμν΄λμ€λ‘ λ§λ€μ΄μ νμΈν΄λ³΄μ
μ°μ μΆμν΄λμ€ μ μΈμ΄λ€.
package abstract3;
public abstract class BankAccount {
// * 1. BankAccount μΆμ ν΄λμ€
// * - νλ double balance;(μμ‘)
// * - μΆμ λ©μλ
// * (1) μ
κΈ λ©μλ : deposit
// * (2) μΆκΈ λ©μλ : withdraw
/*
* 1. BankAccount μΆμ ν΄λμ€
* - νλ double balance;(μμ‘)
* - μΆμ λ©μλ
* (1) μ
κΈ λ©μλ : deposit
* (2) μΆκΈ λ©μλ : withdraw
*
* 2. SavingAccount μΌλ° ν΄λμ€ extends BankAccount
* - μΆμ λ©μλ μ¬μ μ
* (1) μ
κΈ λ©μλ : μ λ¬λ κΈμ‘μ μμ‘νλμ ν©νλ€
* (2) μΆκΈ λ©μλ : μ λ¬λ κΈμ‘μ μμ‘νλμμ λΊλ€
*
* 3. OverdraftAccount μΌλ° ν΄λμ€ extends BankAccount
* - νλ double overdraftLimit;(νλ)
* - μμ±μ νλλ₯Ό μ λ¬λ°μμ μ΄κΈ°ννλ μμ±μ
* - μΆμ λ©μλ μ¬μ μ
* (1) μ
κΈ λ©μλ : μ λ¬λ κΈμ‘μ μμ‘νλμ ν©νλ€
* (2) μΆκΈ λ©μλ : μ λ¬λ κΈμ‘μ μμ‘νλμμ λΊλ€(λ¨, νλ μ΄λ΄μ΄λ©΄ μΆκΈκ°λ₯)
*/
// κ³μ’μ μμ‘
double balance;
// μ
κΈ λ©μλ
abstract void deposit(double amount);
// μΆκΈ λ©μλ
abstract void withdraw(double amount);
}
κ°κ° μ¬μ μλ₯Ό μλ‘ λ€λ₯΄κ² ν΄μ£Όμλ€. λ©μλ μ€λ²λΌμ΄λ©μ νΉμ§μ΄λ€.
BankAccount ν΄λμ€λ κ°μ²΄νκ° μλλ―λ‘(μΆμν΄λμ€) μμλ staticμ μ΄μ©ν΄ κ°μ μ κ·Όνκ³ μλ€.
μ΄λ κ² static void useDeposit() λ©μλλ₯Ό ν΅ν΄ μ λ¬λ°μ κ°μ΄ saμ μ ν΄μ§λ κ²μ΄λ€.
μ¦, 100μμ΄ μ κΈλλ λ©μλμ saλ₯Ό λ£μλ€κ³ μκ°νλ©΄ λλ€. saμ 100μμ λ£μ κ²μ΄ μλ, 100μμ΄ μ κ·Όλλ λ©μλμ
saλ₯Ό λ£λκ².
λμ΄λκ° μ‘°κΈ λ μμ§λ§ μ΄μ¬ν 곡λΆν΄λ³΄μ
μ€λμ μ¬κΈ°κΉμ§

'μΈμ΄ > JAVA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
JAVA : μΈν°νμ΄μ€2(Interface) (5) | 2024.09.08 |
---|---|
JAVA : μΈν°νμ΄μ€1(Interface) (0) | 2024.09.08 |
JAVA : μΆμ ν΄λμ€ μμ1 (0) | 2024.08.29 |
JAVA : μΆμ ν΄λμ€μ μΆμ λ©μλ (0) | 2024.08.29 |
JAVA : νλ³ν λ° μΊμ€ν μ°μ΅ (2) | 2024.08.28 |