package ex_method;
public class Test1 {
public static void main(String[] args) {
/*
* Account 인스턴스 생성 후 데이터 저장 후 출력
* 계좌번호 : 111-1111-111
* 예금주명 : 홍길동
* 현재잔고 : 10000원
*
*/
Account acc = new Account();
// Account 인스턴스에 계좌 정보 데이터 저장
acc.accountNo = "111-1111-111";
acc.ownerName = "홍길동";
acc.balance = 10000;
System.out.println("계좌번호 : " + acc.accountNo);
System.out.println("예금주명 : " + acc.ownerName);
System.out.println("현재잔고 : " + acc.balance + " 원");
acc.deposit(5000);
System.out.println("==================================");
// withdraw() 메서드를 호출하여 출금할 금액 전달 후
// 출금 성공 시 출금된 금액을 리턴받기
int myMoney = acc.withdraw(5000);
System.out.println("출금된 금액 : " + myMoney + " 원");
myMoney = acc.withdraw(20000);
System.out.println("출금된 금액 : " + myMoney + " 원");
}
}
/*
* 은행계좌(Account) 클래스 정의
* 멤버변수
* 1) 계좌번호(accountNo, 문자열) ex) "111-1111-111"
* 2) 예금주명(ownerName, 문자열) ex) "홍길동"
* 3) 현재잔고(balance, 정수) ex) 10000
*
* 메서드 정의
* 1) 입금(deposit)
* - 매개변수 1개(정수형 amount - 입금할 금액)
* - 리턴값 없음
* - 입금할 금액(amount)를 전달받아 현재잔고(balance)에 누적 후 출력
* 출력결과
* 입금된금액 : XXX원
* 현재잔고 : XXX원
*
* 2) 출금(withdraw)
* - 매개변수 1개(정수형 amount - 출금할 금액)
* - 리턴값 있음(int - 출금된 금액)
* - 출금할 금액(amont)를 전달받아 현재잔고(balance)와 비교
* => 만약, 현재잔고보다 출금할 금액이 클 경우 출금 불가능하므로
* "출금 불가! (잔액 부족)" 출력
* "출금할 금액 : XXX원, 현재잔고 : XXX원" 출력 후 메서드 종료
* => 아니면(현재잔고보다 출금할 금액이 크지 않을 경우) 출금 가능하므로
* 출금할 금액만큼 현재잔고에서 차감한 후 출금할 금액만큼 리턴
*
*/
class Account {
// 멤버변수
String accountNo;
String ownerName;
int balance;
// 입금 메서드
public void deposit(int amount) {
// 입금할 금액(amount)를 현재잔고(balance)에 누적
balance += amount;
// 입금금액과 현재잔고 출력
System.out.println("입금된 금액 : " + amount + " 원");
System.out.println("현재잔고 : " + balance + " 원");
}
// 출금 메서드
public int withdraw(int amount) {
if (amount > balance) { // 잔고가 부족하여 출금이 불가능할 경우
System.out.println("출금 불가! (잔액 부족)");
System.out.println("출금할 금액 : " + amount + " 원, 현재잔고 : " + balance + " 원");
// if문 외부에서 리턴을 수행
// 출금금액을 0으로 만들어서 수행
// amount = 0;
return 0;
} else {
// 출금할 금액 < 현재잔고 경우 -> 출금 가능
balance -= amount;
System.out.println("출금할 금액 : " + amount + " 원, 현재잔고 : " + balance + " 원");
}
return amount;
}
}