본문 바로가기

Programming/Java

자바 상속 오버라이드 override annotation

반응형
package inheritance;

class Bank {
	// 본사권한
	long account;
	double rate = 2.5;
	void calc() {
		double interest= (int)Math.ceil(account*rate/100); // 올림 매스 함수
		System.out.println("이자입금: " + interest);
		account += interest;
		System.out.println("현재잔액: " + account);
	}
	public Bank(int account) {
		this.account = account;
	}
}

// private Bank 가산금리
class PB extends Bank {

	
	// 자식클라스에서 override가능
	// 알림의 역할임 가독성.
	@Override // annotation 컴파일러에게 알려주고 있는 것, calc재정의하겠다.
	void calc() {
		
		
		double addRate = 0.5;
		double interest = (int)Math.ceil(account*rate/100); // 올림 매스 함수
		System.out.println("이자입금: " + interest);
		account += interest;
		System.out.println("현재잔액: " + account);
		// TODO Auto-generated method stub
		super.calc();
	}

	public PB(int account) {
		super(account);
		// TODO Auto-generated constructor stub
	}
}

public class ExtendsTest06 {
	public static void main(String[] args) {
		
		Bank cho = new PB(10000);
		System.out.println("현재잔액:" + cho.account);
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
		cho.calc();
	
	}
}
반응형