3층 1구역 - 개발의 장/JAVA

JAVA - 객체지향언어 생성자, 상속을 이용한 노동자 임금 출력(2022-07-28)

상이태상 2022. 7. 28. 23:08

Employee.java (상속할 클래스)

package Inheritance2;

public class Employee {
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

}

 

Permanent.java (상속받을 클래스)

package Inheritance2;

public class Permanent extends Employee {

	private int salary;

	public int getSalary() {
		return salary;
	}

	public void setSalary(int salary) {
		this.salary = salary;
	}

	public Permanent() {

	}

	public void info() {
		System.out.println("이름 :" + super.getName());
		System.out.println("급여 :" + getSalary());
	}

}

 

PartTime.java (상속받을 클래스)

package Inheritance2;

public class PartTime extends Employee {
	private int salary, mon, time;

	public PartTime() {

	}

	public int getSalary() {
		return salary = time * mon;
	}

	public void setSalary(int salary) {
		this.salary = salary;
	}

	public void setMon(int mon) {
		this.mon = mon;
	}

	public void setTime(int time) {
		this.time = time;
	}

	public void info() {
		System.out.println("이름 :" + super.getName());
		System.out.println("급여 :" + getSalary());
	}

}

 

PermanentMain.java

package Inheritance2;

public class PermanentMain {

	public static void main(String[] args) {
		Permanent permanent1 = new Permanent();
		permanent1.setName("김변수");
		permanent1.setSalary(3000000);
		Permanent permanent2 = new Permanent();
		permanent2.setName("이상수");
		Permanent permanent3 = new Permanent();
		permanent3.setName("박참조");
		permanent3.setSalary(5000000);

		permanent1.info();
		permanent2.info();
		permanent3.info();
		System.out.println();

		// 3명의 이름, 시급, 시간 입력
		// 3명의 이름, 급여 출력
		// 급여는 시급 * 시간

		PartTime partTime1 = new PartTime();
		partTime1.setName("김파트");
		partTime1.setTime(160);
		partTime1.setMon(9500);
		PartTime partTime2 = new PartTime();
		partTime2.setName("이파트");
		partTime2.setTime(160);
		partTime2.setMon(10000);
		PartTime partTime3 = new PartTime();
		partTime3.setName("박파트");
		partTime3.setTime(160);
		partTime3.setMon(15000);

		partTime1.info();
		partTime2.info();
		partTime3.info();
	}

}