
🌟 실습 문제: 간단한 은행 계좌 관리 시스템 구현
목표: Account 클래스를 정의하고, 이 클래스의 객체를 사용하여 계좌 소유주, 잔액 등을 저장하며 입금 및 출금 기능을 구현합니다. 이때, 모든 새 계좌는 초기 잔액 10,000원으로 시작하며, 입금액이나 잔액에 대한 별도의 유효성 검사는 생략합니다.
1. Account 클래스 설계
다음 정보를 담고 기능을 수행할 수 있는 Account 클래스를 설계하세요.
- 필드 (Field/멤버 변수):
- 계좌 번호 (String accountNumber)
- 계좌 소유주 이름 (String ownerName)
- 잔액 (long balance)
- 생성자 (Constructor):
- 계좌 번호와 소유주 이름을 매개변수로 받아 필드를 초기화하는 생성자를 만드세요. 잔액은 초기화 시 무조건 10000으로 설정합니다.
- 접근자 (Getter Methods):
- 외부에서 계좌 번호, 소유주 이름, 현재 잔액을 조회할 수 있도록 getAccountNumber(), getOwnerName(), getBalance() 메서드를 구현하세요.
- 기능 메서드 (Functional Methods):
- deposit(long amount) (입금):
- 입금액(amount)을 잔액에 추가합니다. (유효성 검사 불필요)
- 성공적으로 입금되면 "[소유주 이름] 입금 완료. 현재 잔액: XXX원"을 출력합니다.
- withdraw(long amount) (출금):
- 출금액(amount)을 잔액에서 차감합니다. (잔액 부족 검사 불필요)
- 성공적으로 출금되면 "[소유주 이름] 출금 완료. 현재 잔액: XXX원"을 출력합니다.
- deposit(long amount) (입금):
2. BankMain 클래스 (실행 클래스) 구현
BankMain 클래스에서 다음을 수행하세요.
- Account 클래스의 객체를 2개 생성합니다.
- 첫 번째 계좌(acc1)를 사용하여 다음 작업을 순서대로 수행하고 잔액을 확인하세요.
- 50,000원 입금
- 50,000원 출금
- 모든 작업 후 최종 잔액을 출력하세요.
💡 학습 포인트
이 실습은 자바의 클래스 정의, 생성자, 필드 캡슐화(private 사용), 그리고 객체의 상태를 변경하는 메서드 구현에 집중합니다. 유효성 검사를 제외하여 핵심적인 객체 지향 문법 연습에만 초점을 맞춥니다.
힌트 1) System.out.printf("[%s] %d원 입금 완료. 현재 잔액: %d원%n", this.ownerName, amount, this.balance);
2)Account acc2 = new Account("333-987-654321", "김철수");
3) System.out.printf("계좌 소유주: %s, 초기 잔액: %d원%n", acc2.getOwnerName(), acc2.getBalance());
🚀 실행 결과
위 **BankMain.java**를 실행했을 때의 출력 결과입니다.
--- 은행 계좌 관리 시스템 (수정 버전) 시작 ---
계좌 소유주: 홍길동, 초기 잔액: 10000원
[김철수 계좌 생성 (사용되지 않음)]
계좌 소유주: 김철수, 초기 잔액: 10000원
[홍길동 계좌 작업 시작]
[홍길동] 50000원 입금 완료. 현재 잔액: 60000원
[홍길동] 50000원 출금 완료. 현재 잔액: 10000원
최종 잔액 확인: 홍길동 계좌 잔액: 10000원
--- 은행 계좌 관리 시스템 종료 ---
'Java_language' 카테고리의 다른 글
| 간단한 은행 계좌 관리 시스템 구현(정답) (0) | 2025.12.05 |
|---|---|
| 간단한 자바 성적 관리 프로그램 (정답) (0) | 2025.12.05 |
| 간단한 자바 성적 관리 프로그램 (0) | 2025.12.05 |
| 💡 예외 처리란 무엇일까요? (0) | 2025.12.05 |
| 인터페이스란 무엇일까요? (0) | 2025.12.03 |