2024-08-29 21:22:29
λ°˜μ‘ν˜•

μ΄μ „μ˜ κΈ€μ˜ μ½”λ“œλ³΄λ‹€λŠ” 살짝더 λ‚œμ΄λ„κ°€ μžˆμ§€λ§Œ λΉ„μŠ·ν•œ λ‚΄μš©μ΄λ‹ˆ μ΄ν•΄ν•˜λŠ”λ°μ—λŠ” λ¬Έμ œκ°€ 없을 것이닀.

κ³„μ’Œμ˜ μž”μ•‘μ„ ν™•μΈν•˜κ³  μž…κΈˆ μΆœκΈˆμ„ ν•˜λŠ” μ½”λ“œμ΄λ‹€.

λ§ˆμ΄λ„ˆμŠ€ν†΅μž₯κ³Ό 저좕톡μž₯을 μžμ‹ν΄λž˜μŠ€λ‘œ λ§Œλ“€μ–΄μ„œ ν™•μΈν•΄λ³΄μž

 

μš°μ„  μΆ”μƒν΄λž˜μŠ€ 선언이닀.

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λ₯Ό λ„£λŠ”κ²ƒ.

 

μ½˜μ†” κ²°κ³Ό

 

λ‚œμ΄λ„κ°€ 쑰금 더 μžˆμ§€λ§Œ μ—΄μ‹¬νžˆ κ³΅λΆ€ν•΄λ³΄μž

μ˜€λŠ˜μ€ μ—¬κΈ°κΉŒμ§€

728x90