JAVA - 객체지향언어 추상클래스,메소드를 이용한 노동자 월급 구하기(2022-07-29)
2022. 7. 31. 19:25ㆍ3층 1구역 - 개발의 장/JAVA
Employee.java
package inheritance7;
public abstract class Employee {
private String name;
public Employee(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// public int getSalary() {
// return 0;
// }
public abstract int getSalary();
}
PartTime.java
package inheritance7;
public class PartTime extends Employee{
private int time;
private int pay;
// Alt + Shift + s
public PartTime(String name, int time, int pay) {
super(name);
// super : 부모 인스턴스의 참조 값을 담고 있는 예약어
// super() : 부모 생성자 호출.
super.setName(name);
this.time = time;
this.pay = pay;
}
public int getSalary() {
return time * pay;
}
}
Permanent.java
package inheritance7;
public class Permanent extends Employee{
private int salary;
public Permanent(String name, int salary) {
super(name); // 부모의 생성자 호출은 첫번째 줄
setName(name);
this.salary = salary;
}
public int getSalary() {
return salary;
}
}
PermanentMain.java
package inheritance7;
import java.util.ArrayList;
public class PermanentMain {
public static void main(String[] args) {
ArrayList<Employee> emps = new ArrayList<>();
emps.add(new Permanent("김변수", 3000000));
emps.add(new Permanent("이상수", 4000000));
emps.add(new Permanent("박참조", 5000000));
emps.add(new PartTime("김파트", 160, 9500));
emps.add(new PartTime("이파트", 160, 10000));
emps.add(new PartTime("박파트", 160, 15000));
for(Employee e : emps) {
System.out.println("이름 : " + e.getName());
System.out.println("급여 : " + e.getSalary()+"원");
}
}
}
'3층 1구역 - 개발의 장 > JAVA' 카테고리의 다른 글
JAVA - 객체지향언어 MemberDTO를 이용한 회원정보 입력 프로그램 만드는 퀴즈(2022-08-01) (0) | 2022.08.01 |
---|---|
JAVA - 객체지향언어 생성자를 이용하여 회원 정보 프로그램 만드는 퀴즈(2022-07-29) (0) | 2022.07.31 |
JAVA - 객체지향언어 인터페이스 (2022-07-29) (0) | 2022.07.31 |
JAVA - 객체지향언어 추상클래스, 추상메서드 (2022-07-29) (0) | 2022.07.31 |
JAVA - 객체지향언어 상속화의 심화 및 업,다운캐스팅 그리고 instanceof (2022-07-29) (0) | 2022.07.31 |