프로젝트 소개
1. 주제
intellij를 사용하여 직원들의 급여를 계산하고 현재 시간을 보여주는 객체 지향 프로젝트입니다.
2. 주요 기능
1) 각 직급별로 클래스를 나누어서 필드, 생성자, 메소드를 할당합니다.
2) 부모 클래스(Employee)를 상속함으로서 자식 클래스(Salesman, Executive)에서 필드를 중복 사용합니다.
3) super() 를 활용하여 부모 생성자를 호출합니다.
4) 해당 년도, 사원의 직급, 이름, 월급을 순서대로 출력합니다.
5) main 함수에서 사원들의 정보를 객체화하고 내용을 출력합니다.
6) 객체에 입력된 Salesman의 마지막 숫자는 연간 판매 금액을 의미하고, Executive의 마지막 숫자는 현재 주가를 의미합니다.
7) java.util의 Date 클래스를 이용하여 조회 시간을 출력합니다.
3. 실행 예시
직급별로 순서대로 정보를 출력합니다. 아래와 객체 자체에 입력된 정보와 계산된 정보들을 함께 출력합니다.
----------------------------------
<Executive>
Name : Kim
Monthly Salary : 5000
Stock Price : 55
Annual Salary : 90000
조회 시간 : 2020년 05월 10일 09시 20분 12초
----------------------------------
클래스 구성
1. Employee
1) 필드: 이름, 월급
2) 메소드: toString()으로 변수 정보 출력
2. Salesman <상속 Employee>
1) 필드: (이름, 월급) + 연간 판매 금액
2) 연간 판매 금액: 2%에 해당 되는 금액이 20000 달러 이상인 경우, 최대치인 20000달러로 계산합니다.
3) 메소드: annualSalary() -> 연봉을 반환하는 기능입니다.
4) annualSalary() = (연간 판매 금액 * 0.2) * 월급 * 12
5) Employee 오버라이딩: toString()으로 변수 정보를 출력합니다.
3. Executive <상속 Employee>
1) 필드: (이름, 월급, 연간 판매 금액) + 주가
2) 주가 조건: 주가가 50달러 이상인 경우, 30000달러의 보너스를 받고 그렇지 않은 경우, 보너스는 없습니다.
3) 메소드: annualSalary() -> 연봉을 반환하는 기능입니다.
4) annualSalary() = (보너스) * 월급 * 12
5) Employee 오버라이딩: toString()으로 변수 정보를 출력합니다.
4. main()
1) main() + 1,2,3 클래스의 정보를 받아 객체에 넣고 출력합니다.
2) 조회 시간을 출력합니다.
실행 결과
아쉬운 점
텍스트로 사원들의 정보를 받아서 객체에 넣고 다시 텍스트로 출력하는 과정을 하고 싶었지만
텍스트를 배열로 받는데 실패하여 결과를 내지 못한 점이 아쉬웠습니다.
코드는 여기에
'Java > 급여 계산기' 카테고리의 다른 글
Intellij 기반의 JDBC + MySQL 연동 (0) | 2020.05.15 |
---|---|
Database 구성 (0) | 2020.05.15 |