컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성
Contents Class 와 method 작성해보기 ① Class 와 method 작성해보기 ② Account.java, ManageAccount.java Class 와 method 작성해보기 ② Student.java, Grades.java
Class와 method 작성해보기 ① Account.java, ManageAccount.java // ************************************************************* // Account class는 예금, 출금, 명의변경, 수수료부과, // 계좌 정리 출력하는 method를 가지고 있다. public class Account { private double balance; private String name; private long acctNum; // --------------------------------------------------------- // Constructor - balance, owner, account number 초기화 public Account (double initBal, String owner, long number) balance = initBal; name = owner; acctNum = number; }
// ---------------------------------------------------------. // // --------------------------------------------------------- // 예금잔액을 통해 출금 가능 여부를 체크한다. // 예금잔액 > 인출금액 : 잔액에서 인출 금액을 차감 // 예금잔액 < 인출금액 : message 출력 // --------------------------------------------------------- public void withdraw (double amount) { if (balance >= amount) balance -= amount; else System.out.println ("Insufficient funds"); } // --------------------------------------------------------- // 입금시 예금 잔액 조정 // --------------------------------------------------------- public void deposit (double amount) { balance += amount; } // --------------------------------------------------------- // 예금잔액 반환 // --------------------------------------------------------- public double getBalance() { return balance; }
// ---------------------------------------------------------. // // --------------------------------------------------------- // string(name, account number, balance를 포함) 반환 // --------------------------------------------------------- public String toString() { } // --------------------------------------------------------- // 세금 부과 - 10$ public void chargeFee() { } // 계좌의 명의 변경 public void changeName (String newName)
// ************************************************************* // ManageAccount.java // // ManageAccount Class를 이용하여 Sally 와 Joe의 계좌를 // 생성하고 관리한다. public class ManageAccounts { public static void main(String[] args) Account acct1, acct2; // Sally의 $1000 계좌 생성. acct1 = new Account (1000, "Sally", 1111); // Joe의 $500 계좌 생성. // Joe의 계좌에 $100 예금하기. // Joe의 예금 잔액 출력하기.(get Balance() 사용) // Sally의 계좌에서 50$ 인출하기. // Sally의 예금 잔액 출력하기.(get Balance() 사용) // 두 계좌의 세금 부과하기. // Joe의 계좌에서 이름을 Joseph로 바꾸기. // 두 계좌의 내역을(입/출금, 세금) 출력하기. }
Class와 method 작성해보기 ① Account.java를 완성해보자. ManageAccount.java를 완성해보자. toString(), chargeFee(), changeName() 을 완성하라. chargeFee()를 수정하라. return 값을 void new balance 로!! ManageAccount.java를 완성해보자. 주석의 설명을 따른다.
Class와 method 작성해보기 ① ManageAccount.java를 수정해보자. 수정 후 chargeFee를 call한 후, balance를 출력하도록!! 수정 전 deposit/withdraw 후 getBalance()에서 Balance return. 수정 후 deposit/withdraw 후 chargeFee()에서 Balance return!! 이 때, balance를 출력하는 방법에는 2가지가 있다. balance를 변수에 저장한 다음, 변수를 출력. chargeFee()에 출력문 포함.
Class와 method 작성해보기 ② Student.java, Grades.java // ************************************************************** // Student.java // // Student class that stores name, score on test 1, and // score on test 2. Methods prompt for and read in grades, // compute the average, and return a string containing student's info. import java.util.Scanner; public class Student { // instance data 선언 - 학생 이름, test 1 점수, test 2 점수 // ---------------------------------------------------------- // Constructor public Student (String studentName) // Constructor body 추가 }
// --------------------------------------------------------- // inputGrades : 학생의 test grade를 입력받음. public void inputGrades() { // inputGrades의 body 추가 } // ---------------------------------------------------------- // getAverage : 학생의 test average를 계산하고 반환. // getAverage의 header 추가 // getAverage의 body 추가 // getName : 학생이름을 출력. // getName의 header 추가 // getName의 body 추가
// ************************************************************* // Grades.java // // Student class를 이용하여 두 학생의 test grade와 average를 // 가져온다. public class Grades { public static void main(String[] args) Student student1 = new Student ("Mary"); // student2, "Mike"를 생성. // Mary의 grade를 입력받는다. // Mary의 average를 출력한다. System.out.println(); // Mike의 grade를 입력받는다. // Mike의 average를 출력한다. }
Class와 method 작성해보기 ② Student.java를 완성해보자. Grades.java를 완성해보자. 주석의 설명을 따른다. 입력을 받기 위한 Scanner object를 생성해야 함. Grades.java를 완성해보자. average 출력 부분. name과 average를 출력한다. 예) The Average for Joe is 87.
Class와 method 작성해보기 ② Grades.java를 수정해보자. Student.java를 수정해보자. 학생 변수의 값을 직접 출력해보자. 예) System.out.println (“Student 1 : “ + student1); 컴파일 후 결과를 살펴보자. Student.java를 수정해보자. toString()을 추가한다. System.out.println을 사용하지 않는다. return 값 : String (학생 이름과 점수) 예) Name : Joe Test1 : 85 Test2 : 91 주의 : Grades.java는 수정하지 않는다. toString()을 명시적으로 호출하지 않는다.