예를 들어 정규직과 계약직 세금을 달리 떼어야 할때
추상화 메소드로 만든후에 나눌수있다.
package day10_1;
public abstract class Salary {
int salary;
public abstract void tax(); // 같은 메소드를 쓰더라도 다른 실행문구를 쓸때 추상메소드를 사용.
}
class 정규직 extends Salary{
@Override
public void tax() {
double tax = salary * 0.1 ; // 재정의
System.out.println("정규직 세금은 : "+tax);
}
}
class 계약직 extends Salary{
@Override
public void tax() {
double tax = salary * 0.033 ; // 재정의
System.out.println("계약직 세금은 : "+tax);
}
}
각 정규직과 계약직에 세금을 곱하게 되면
package day10_1;
public class SalaryMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
정규직 a = new 정규직();
a.salary = 2000000;
a.tax();
계약직 b = new 계약직();
b.salary = 1500000;
b.tax();
}
}
정규직 금액이 200만원 , 계약직 금액이 150만원이면
메소드를 사용해서
정규직 세금은 : 200000.0
계약직 세금은 : 49500.0
이 출력되게 된다.
'Java > Java icia 10일차' 카테고리의 다른 글
상속 , 오버라이드 , 클래스를 이용하여 학교시스템 만들기 (0) | 2023.03.07 |
---|---|
오버라이딩 , 상속 , 추상화 (0) | 2023.03.07 |
Java 상속 , 오버라이딩 (0) | 2023.03.07 |