자바_기초
상속 : 문제2)계좌정보, 입금, 출금. 카드번호 추가. pay 메서드
잠수콩
2019. 5. 27. 12:39
//계좌정보 - 계좌번호, 이름, 잔액
//기능-입금, 출금(잔액이 모자랄경우 경고)
//카드번호 추가 class. pay 시 카드번호 or 잔액 모자랄 경우 경고
package Inheritance;
class Account{
String accountNo; //계좌번호
String name; //이름
int balance; //잔액
void deposit(int a) { //입금
this.balance += a;
}
int withdraw(int b) { //출금
if (this.balance < b) {
return 0;
} else {
this.balance -= b;
return this.balance;
//return this.balance - b; //한줄로도 가능
}
}
@Override
public String toString() {
return "Account [accountNo=" + accountNo + ", name=" + name + ", balance=" + balance + "]";
}
}
//카드번호 또는 잔액이 모자랄 경우 경고
class CheckingAccount extends Account{
String cardNo; //카드번호
int pay(String cNo, int a) {
if (!cNo.equals(this.cardNo) || this.balance < a) {
System.out.println("지불 불가능");
return 0;
} else {
return withdraw(a);
}
}
}
public class exam_AccountMain {
public static void main(String[] args) {
CheckingAccount ob = new CheckingAccount();
ob.accountNo = "123-123-123";
ob.name = "홍길동";
ob.balance = 200000;
ob.cardNo = "111-222-333-444";
int res = ob.pay("1111", 1000);
System.out.println("잔액 : "+res);
System.out.println("===================");
int res2 = ob.pay("111-222-333-444", 1000);
System.out.println("잔액 : "+res2);
}
}