본문 바로가기

프로그래밍 언어/Java

Java programming 자바 프로그래밍 실습 : Employee Salary

Java programming 자바 프로그래밍 실습 : Employee Salary


2021-1 성균관대학교 소프트웨어학과 타메르 교수님의 자바 프로그래밍 실습 수업을 들으면서 수행한 예제입니다

 

문제 

String firstName, String lastName, double salary를 인스턴스 변수로 갖는 Employee 클래스를 만들어라.

해당 클래스는 constructor와 setter, getter 메소드를 가지고 있어야 한다.

새로운 EmployeeTest 클래스를 만들어서 Employee 객체 두개를 만들고 각각의 salary를 출력하고, 5% 인상된 salary도 다시 출력해라.

  • Employee.java

public class Employee {
	
	String firstName;
	String lastName;
	double salary;
	
	// constructor using setter methods
	public Employee(String FirstName, String LastName, double Salary) {
		setFirstName(FirstName);
		setLastName(LastName);
		setSalary(Salary);
	}


	// getter and setter methods for each fields
	public String getFirstName() {
		return firstName;
	}


	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}


	public String getLastName() {
		return lastName;
	}


	public void setLastName(String lastName) {
		this.lastName = lastName;
	}


	public double getSalary() {
		return salary;
	}

	
	public void setSalary(double salary) {
		// salary is set only when input salary is positive 
		if (salary > 0) {
			this.salary = salary;
		}
		
	}	

}
  • EmployeeTest.java
public class EmployeeTest {
	
	// print employee's current salary
	public static void printStatus(Employee employee1, Employee employee2) {
		System.out.println(employee1.getFirstName() + "s salary: $" + employee1.getSalary());
		System.out.println(employee2.getFirstName() + "s salary: $" + employee2.getSalary());
	}

	public static void main(String[] args) {
		// create 2 objects of Employee classs
		Employee employee1 = new Employee("John", "Ewing", 3000);
		Employee employee2 = new Employee("Jack", "Sparrow", 100000);
		printStatus(employee1, employee2);
		
		// 5% raise each salary of employees using setter method
		employee1.setSalary(employee1.getSalary() * 1.05);
		employee2.setSalary(employee2.getSalary() * 1.05);
		
		System.out.println("After raise by 5%");
		printStatus(employee1, employee2);
	}

}