[Java] 은행 시뮬레이션 프로그램_계좌 이체 메소드 작성하기

2022. 1. 2. 23:49·TIL/Java
728x90
반응형

실습과제 내용

계좌 이체

지금까지 만들어 온 은행 시뮬레이션 프로그램에 송금 기능을 담당하는 transfer 메소드를 써봅시다. 메소드 오버로딩의 개념을 이용해서 BankAccount 클래스에 두 개의 transfer 메소드를 쓰고, Person 클래스에도 두 개의 transfer 메소드를 쓰겠습니다.

 

송금 메소드 작성 (BankAccount.java)

송금은 계좌 - 계좌 방식으로 이루어집니다. 하지만 사용자의 편리함을 위해서 아래의 두 메소드를 만들겠습니다:

public class BankAccount {
    // 저번 과제에서의 코드를 포함해주세요!

    // 첫 번째 파라미터: 받는 사람 (Person)
    // 두 번째 파라미터: 이체할 금액 (정수)
    // 리턴 : 성공여부 (불린)
    public boolean transfer(Person to, int amount) {
        // insert code here
    }

    // 첫 번째 파라미터: 받는 사람의 계정 (BankAccount)
    // 두 번째 파라미터: 이체할 금액 (정수)
    // 리턴 : 성공여부 (불린)
    public boolean transfer(BankAccount to, int amount) {
        // insert code here
    }
}

(1) 송금 성공 시 true를 리턴, 실패시 false를 리턴합니다.

(2) 송금하고자 하는 금액(amount)이 음수일 때 송금 실패입니다.

(3) amount가 잔고(balance)보다 클 때 송금 실패입니다.

(4) 나의balance를 amount 만큼 줄이고, 받는사람(to)의 balance를 amount만큼 늘려줍니다.

(5) 송금 성공시 아래 문구를 출력합니다:

true - from: [송금자 이름], to: [수신자 이름], amount: [송금액], balance: [송금자 잔고]

(6) 송금 실패시 아래 문구를 출력합니다:

false - from: [송금자 이름], to: [수신자 이름], amount: [송금액], balance: [송금자 잔고]

 

송금 메소드 작성 (Person.java)

위의 룰들을 지킨 송금 메소드를 Person 클래스 내에도 만듭니다.

public class Person {
    // 저번 과제에서의 코드를 포함해주세요!

    // 첫 번째 파라미터: 받는 사람 (Person)
    // 두 번째 파라미터: 이체할 금액 (정수)
    // 리턴 : 성공여부 (불린)
    public boolean transfer(Person to, int amount) {
        // insert code here
    }

    // 첫 번째 파라미터: 받는 사람의 계정 (BankAccount)
    // 두 번째 파라미터: 이체할 금액 (정수)
    // 리턴 : 성공여부 (불린)
    public boolean transfer(BankAccount to, int amount) {
        // insert code here
    }
}

 

테스트

true - from: 문종모, to: 김신의, amount: 200000, balance: 300000
true - from: 김신의, to: 문종모, amount: 150000, balance: 150000
true - from: 문종모, to: 김신의, amount: 270000, balance: 180000
true - from: 김신의, to: 문종모, amount: 130000, balance: 290000

 

 

코드 작성

만들어야 할 메소드는 총 4개.

  1. BankAccount 클래스에 transfer(Person to, int amount)
  2. BankAccount 클래스에 transfer(BankAccount to, int amount)
  3. Person 클래스에 transfer(Person to, int amount)
  4. Person 클래스에 transfer(BankAccount to, int amount)

넷 다 같은 송금 기능을 담당하지만, 각각 다른 클래스에 다른 파라미터를 가지고 있다. 다 비슷하기 때문에 일단 하나만 작성해놓으면 다른 메소드들은 간단하게 해결할 수 있다. 실제 송금은 계좌와 계좌 사이에 이루어지는 것이기 때문에 먼저 2번 메소드를 작성하자.

 

BankAccount.java 파일에서 transfer 메소드 작성

BankAccount.java 파일의 transfer(Person to, int amount) 메소드는 BankAccount 클래스에 있는 transfer(BankAccount to, int amount) 메소드를 호출하여 정의

 

Person.java 파일에서 transfer 메소드 작성

Person.java 파일의 transfer(Person to, int amount) 메소드는 BankAccount 클래스에 있는 transfer(BankAccount to, int amount) 메소드를 호출하여 정의

transfer(BankAccount to, int amount) 메소드는 BankAccount 클래스에 있는 transfer(Person to, int amount) 메소드를 호출하여 정의

 

BankDriver.java 파일에서 테스트 코드 출력

728x90
반응형

'TIL > Java' 카테고리의 다른 글

[Java] this  (0) 2022.01.04
[Java] 생성자(Constructor)  (0) 2022.01.03
[Java] 접근 제어자  (0) 2021.12.31
[Java] 은행 시뮬레이션 프로그램_입금, 출금 메소드 작성하기  (0) 2021.12.31
[Java] 인스턴스  (0) 2021.12.30
'TIL/Java' 카테고리의 다른 글
  • [Java] this
  • [Java] 생성자(Constructor)
  • [Java] 접근 제어자
  • [Java] 은행 시뮬레이션 프로그램_입금, 출금 메소드 작성하기
야리니
야리니
오늘보다 내일 더 성장하는 개발자가 되기 위한 야리니 블로그입니다 :)
    반응형
    250x250
  • 야리니
    야리니의 step by step
    야리니
  • 링크

    • GitHub
    • Linkedin
  • 전체
    오늘
    어제
    • 분류 전체보기 (478)
      • TIL (379)
        • Java (97)
        • Kotlin (28)
        • JPA (16)
        • Spring (37)
        • Oracle (22)
        • JDBC (7)
        • Web(HTML, CSS, JS, jQuery) (90)
        • View Template (31)
        • AWS (7)
        • HTTP (7)
        • CS (5)
        • Linux, Unix (2)
        • Python (20)
      • Trouble Shooting(Error) (37)
      • Algorithm (15)
      • Git,GitHub (8)
      • Diary (24)
      • 독서 (9)
      • Etc (6)
        • Mac (1)
        • 학원준비과정 (2)
  • 블로그 메뉴

    • 방명록
    • 태그
  • 공지사항

    • 안녕하세요 :)
  • 인기 글

  • 태그

    CSS
    코틀린
    백엔드 개발자
    java
    oracle
    국비지원학원
    java기초
    Kotlin
    쌍용교육센터
    HTML
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
야리니
[Java] 은행 시뮬레이션 프로그램_계좌 이체 메소드 작성하기
상단으로

티스토리툴바