멤버변수와 상호작용하는 은행객체 만들기
Account 클래스
package sample2;
import util.KeyboardReader;
/**
* 입급기능, 출금기능 , 비밀번호 변경기능, 계좌정보 출력기능을 제공하는 클래스이다.
* @author Juwudong
*
*/
public class Account {
KeyboardReader key = new KeyboardReader();
//객체의 맴버변수
long blance ; //현재금액
int passWord; //비밀번호
double depositInteresrRate; //금리
//입금기능
//입금 금액을 받아 금액을 증가시킨다.
//반환타입 void
//메소드 이름 deposit
//매개변수 : int amount
// 구현내용 : 매개변수로 전달받음 만큼 금액을 증가시킨다.
void deposit (int amount) {
blance += amount;
}
//출금기능
//출금 금액을 받아 금액을 차감시킨다.
//반환타입은 void
//메소드이름 : deposit
//매개변수 : int amount
//구현내용 : 매개변수로 전달받은 출금액만큼 잔액을 감소시키고 출금액 만큼의 금액을 반환한다.
//단 비밀번호가 일치하지 않으면 오류 메시지를 표시하고 메소드를 종료한다.
//단 출금액보다 잔액이 부족하면 오류 메세지를 표시하고 메소드를 종료한다.
long withdraw(int amount, int passWord1) {
if(passWord1 != passWord) {
//System.err = 오류 빨간색으로 표시해준다!
System.err.println("비번틀림");
}
blance -= amount ;
return blance;
}
//비밀번호 변경 기능
//이전 비밀번호와 신규비밀번호를 전달받아 처리한다.
//반환타입 void
//메소드 이름 passWordChange
//매개변수 int passWord, int npassWord
//구현내용 : 매개변수로 패스워드를 입력받아 값이 맞다면 새로운 패스워드를 입력하라는 메시지를 출력하고 그값을 저장한다.
// 단 이전 비밂번호와 새로운 비밀번호가 일치하면 오류메시지를 출력하고 종료한다.
// 비밀번호가 틀리면 오류 메시지 출력
void passWordChange (int rPassWord, int nPassWord) {
if(passWord==nPassWord) {
System.err.println("이전 비밀번호와 겹칩니다."); //syserr 에러메시지
return ;
}if (passWord!=rPassWord) {
System.err.println("비밀번호가 틀렸습니다.!");
return;
}
passWord = nPassWord; //위의 두가지 경우가 둘다 아닐시 정상적으로 비밀번호 변경
}
//계좌정보 출력기능
//비밀번호를 전달받아서 잔액, 금리를 출력한다.
//반환타입 void
//메소드 이름 printAccontInfo
//매개변수: int inputPassWord
//구현내용 : 현재잔액,금리를 화면에 출력한다.
//단 비밀번호가 일치하지 않으면 오류메시지 표시및 메소드 종료
void printAccontInfo (int inputPassWord) {
if (inputPassWord != passWord) {
System.err.println("오류입니다.\n");
return;
}
System.out.println("금액 : "+blance);
System.out.println("금리 : "+(depositInteresrRate*100)+"%");
}
}
이런식으로 코딩전 꼼꼼하게 구현내용 이름 변수타입등을 정리해두는 것이 좋다.
Account App
package sample2;
public class AccountApp {
public static void main(String[] args) {
//계과정보 Account 조회 입금 출금 비밀번호 변경 기능을 지닌 app
Account account = new Account();
//최초잔액과 비밀번호 설정하기
account.passWord = 1234;
account.blance = 100000;
account.depositInteresrRate = 0.03;
//입금 해보기
account.deposit(200000);
//계좌정보 조회!
account.printAccontInfo(1234);
//비밀번호 변경 해보기!
account.passWordChange(1234, 12134);
//출금해보기
account.withdraw(200000, 12134);
account.printAccontInfo(12134);
}
}
실행결과
'개발공부 2023 ~03~13' 카테고리의 다른 글
변수와 메서드(인스턴트, 클래스, 참조형 매개변수, 메서드) (0) | 2023.03.26 |
---|---|
객체지향 (클래스와 객체) (0) | 2023.03.23 |
7일차 복습 (메소드의 종류, 계산기 객체 만들어보기) (0) | 2023.03.21 |
7일차 복습 (배열객체 , 메소드의 구조) (0) | 2023.03.21 |
복습 6일차 (다 차원 배열, 객체 ,APP ) (0) | 2023.03.20 |