밑에서 추상클래스를 질문했던 사람입니다. 답변감사합니다.그런데....
안녕나야
답변 감사드립니다. 제가 너무 성의없이 질문을 던진거 같아서 정말 죄송스럽게 생각드립니다.
제가 그래서 제 스스로 유사한 문제를 찾아보고 풀어보았는데요 제가 모르는 부분들을 주석으로 만들어봤는데
주석 부분만 알려주시면 어제 질문했던 문제를 스스로 풀어보겠습니다.
문제는 직원이 부모클래스 이고 직원밑에는 정규직원과 비정규직원 이라는 자식클래스가 있고
비정규직원 밑에 다시 임시직원과 인턴사원이라는 자식클래스가 있습니다.
첨부파일로 올렸는데요 주석 몇개 안돼니 주석부분만 이라도 알려주시면 다음문제는 응용해서 제가 해보도록 하겠습니다.
부탁드리겠습니다... ^^ ps_)제가 아직 학부 2학년 생이라 보니 실력이 미진합니다. 좀 도와주세요..저도 훌륭한 프로그래머가 되고 싶습니다...^^
abstract class Employee
{
//일반 직원에 대한 객체 변수들을 선언한다.
public Employss (String name, String address, String department)
{
//직원의 변수들 값을 주어진 값들로 초기화한다.
}
public String toString()
{
String result result = 이름: + name + \n;
result += 주소: + address + \n;
result += 소속부서: + department;
return result;
}
public abstract double pay();
}
class RegEmployee extends Employee
{
//정규 직원에 대한 객체 변수들을 선언한다.
public RegEmployee (String name, String address, String department, int empNumber, String rank, double yearlySalary, double bonusRate)
{
//부모 클래스의 생성자 메소드를 적절한 매개변수들을 가지고 호출한다.
//새롭게 정의된 변수들의 값들을 적절하게 정한다.
}
public double pay()
{
//이 정규 직원의 연간 총봉급액을 되돌려 준다.
}
public String toString()
{
String result = super.toString();
result += \n직원번호: + empNumber;
result += \n직급: + rank;
result += \n연봉: + yearlySalary;
result += \n보너스 지급율: + bonusRate;
return result;
}
}
class TempEmployee extends Employee
{
//비정규 직원에 대한 객체 변수들을 선언한다.
public TempEmployee (String name, String address, String department, String contractexpdate, double basicPay)
{
//부모 클래스의 생성자 메소드를 적절한 매개변수들을 가지고 호출한다.
//새롭게 정의된 변수들의 값들을 적절하게 정한다.
}
public double pay()
{
//이 비정규 직원의 기본임금을 되돌려 준다.
}
public String toString()
{
String result = super.toString();
result += \n계약 만료일: + contractexpdate;
result += \n기본 임금: + basicPay;
return result;
}
}
class HourlyEmployee extends TempEmployee
{
// 임시직원에 대한 객체 변수들을 선언한다.
public HourlyEmployee (String name, String address, String department, String contractexpdate, double basicPay, double payRate)
{
//부모클래스의 생성자 메소드를 적절한 매개변수들을 가지고 호출한다.
//새롭게 정의된 변수들의 값들을 적절하게 정한다.
}
public double pay()
{
//이 임시 직원의 봉급액을 되돌려 준다.
}
public void addHours (int moreHours)
{
//이 임시 직원의 추가 근무시간을 누적된 근무시간에 더한다.
}
public String toString()
{
String result = super.toString();
result += \n시간당 임금: + payRate;
result += \n근무 시간: + hourWorked;
return result;
}
}
class Intern extends TempEmployee
{
//인턴사원에 대한 객체 변수를 선언한다.
public Intern (String name, String address, String department, String contractexpdate, double basicPay, double payPercent)
{
//부모 클래스의 생성자 메소드를 적절한 매개변수들을 가지고 호출한다.
//새롭게 정의된 변수들의 값들을 적절하게 정한다.
}
public double pay()
{
//이 인턴사원의 봉급액을 되돌려 준다.
}
public String yoString()
{
String result = super.toString();
result += \n임금 지급율: + payPercent;
return result;
}
}
class EmployeeDriver
{
Employee[] employList;
public EmployeeDriver()
{
employeeList = new Employee[6];
employeeList = new RegEmployee (선미, 서소문 123, 마케팅, 9352345, 이사, 7000.0, 1.4);
employeeList[1] = new RegEmployee (종미, 대치 456, 인사, 9874321, 과장, 4000.0, 1.2);
employeeList[2] = new RegEmployee (지나, 명동 789, 연구개발, 12-03-31, 2500.0);
employeeList[3] = new RegEmployee (단형, 유성 678, 기획, 07-07-31, 2000.0, 10.0);
employeeList[4] = new RegEmployee (총무, 08-12-31, 1600.0, 5.0);
employeeList[5] = new RegEmployee (연구개발, 10-06-31, 1200.0, 0.6);
((HourlyEmployee)employeeList[3]).addHours (30);
((HourlyEmployee)employeeList[4]).addHours (40);
((HourlyEmployee)employeeList[3]).addHours (50);
((HourlyEmployee)employeeList[4]).addHours (60);
((HourlyEmployee)employeeList[3]).addHours (20);
((HourlyEmployee)employeeList[4]).addHours (30);
}
public void payday()
{
double amount;
for (int count=0, count employeeList.length; count++)
{
System.out.println(employeeList[count]);
amount = employeeList[count].pay();
System.out.println(지급액: + amount);
System.out.println(----------------------------);
}
}
public static void main(String[] args)
{
EmployeeDriver personnel = new EmployeeDriver();
personnel.payday();
}
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2696043 | 제이쿼리 .scroll() 관련 질문드립니다 | 이거이름임 | 2025-05-26 |
2695984 | 마크업상으로 하단에 있으나 우선적으로 이미지파일을 다운로드받는 방법 (1) | 들꿈 | 2025-05-25 |
2695934 | tr 속성값 (9) | 새 | 2025-05-25 |
2695905 | ASP로 개발됐을 때 css가 달라져요 ㅠㅠ (4) | 슬아라 | 2025-05-24 |
2695878 | form을 이용한 다른 페이지로 넘기는 방법을 알려주세요 (1) | 핫파랑 | 2025-05-24 |
2695844 | 저기 암호화 및 복호화 프로그램.. 만들어볼려는대 (2) | 한빛 | 2025-05-24 |
2695814 | [질문] PDA에서 애플릿이 가능한가요? (1) | 봄시내 | 2025-05-24 |
2695785 | 웹 설정 도와줄분 | 화이트캣 | 2025-05-23 |
2695730 | 갑자기 기억이 안나는데 accesskey 속성.. | 빛나라 | 2025-05-23 |
2695702 | [질문] Java 버전 차이에 의한 오류?!! (2) | 검사 | 2025-05-23 |
2695672 | 자바 임베디드 쪽으로 배우고 싶은데요..질문이요.. (1) | 뽀그리 | 2025-05-22 |
2695647 | 헉! 이클립스(v3.1)에서 발생되는 널포인트 익셉션? ;;; (3) | 아빠몬 | 2025-05-22 |
2695586 | IFRAME 캐싱 질문 | 봄나비 | 2025-05-22 |
2695498 | [질문]실행가능한 jar파일.. 정말 이해가 안가네요... ㅡㅜ;; | 터1프한렩 | 2025-05-21 |
2695468 | 자바랑 이클립스에서요.. | 스킬 | 2025-05-21 |
2695375 | Mysql 연동하는 자바 질문있습니다. | 아리솔 | 2025-05-20 |
2695319 | 파워포인트 파일을 저장할 수 있을까요? | 시윤 | 2025-05-19 |
2695289 | [질문]Tween 값의 정도를 알고 싶습니다. | 타마 | 2025-05-19 |
2695238 | c 와 c++의 시작 (10) | ChocoHoilc | 2025-05-18 |
2695215 | 탑메뉴의 repeat-x .배경이 두가지에요ㅠ ㅠ | 널위해 | 2025-05-18 |