IT/솔루션) Power Java

Power JAVA 7장 ) 클래스와 객체 - LAB

돔찌 2019. 4. 23. 07:36

<2016. 10. 3. 18:48>

 

Power JAVA 7장 ) 클래스와 객체 - LAB

/* 
 * 은행 계좌를 나타내는 BankAccount 클래스를 입력하고 다양한 실험을 하여 보자.
 * BankAccount는 잔고를 나타내는 정수형 멤버 변수(balance)를 가지고 있고 예금 인출 메소드(draw)와 예입 메소드(deposit),
 * 현재 잔고를 반환하는 메소드(getBalance)를 가지고 있다.
 * 
 * 1.main() 메소드 안에서 BankAccount 객체 b를 생성하고 다음과 같은 순서대로 메소드를 호출한다.
 *   1)b의 잔고를 100으로 한다.
 *   2)b에서 60을 인출한다.
 *   3)b에서 현재  잔고를 얻어서 화면에 출력한다.
 */
// 4. BankAccount 클래스 앞에 public을 추가하고 프로그램을 컴파일 해보자. 어떤 오류가 발생하는가?
// public을 붙이는 것과 붙이지 않은 것의 차이는 무엇인가? -하나의 소스 파일 안에는 한 개의 public 클래스만 존재하여야 한다.
class BankAccount {
	int balance;
	void deposit(int amount) {
		balance += amount;
	}
	// 3. 현재 잔고가 음수이면 예금 인출이 일어나지 않도록, withdraw()를 변경하라.
	// 이러한 BankAccount 클래스의 변경은 BankAccountTest, 클래스를 변경해야 하는가? - No, 변경할 필요 없다.
	void withdraw(int amount) {
		if (balance-amount < 0)
		   System.out.println("잔액이 부족합니다."); else
		   balance -= amount;
	}
	int getBalance() {
		return balance;
	}
	//2. 현재 잔액에 대하여 연 7.5%의 이자를 계산하여 추가하는 addInterest() 메소드를 구현하고 테스트하라.
	void addinterest() {
		balance *= 1.075;
	}
}
public class LAB {
	public static void main(String[] args) {
		BankAccount b = new BankAccount();
		// 1.main() 메소드 안에서 BankAccount 객체 b를 생성하고 다음과 같은 순서대로 메소드를 호출한다.
		b.balance = 100;
		// 1-1. b의 잔고를 100으로 한다.
		b.withdraw(60);
		// 1-2. b에서 60을 인출한다.
		System.out.printf("현재 잔고는 %d 입니다 \n",b.getBalance());
		b.addinterest();
		System.out.printf("현재 잔고는 %d 입니다 \n",b.getBalance());
	}
}