[IT]/java
java.분석 설계
givemebro
2021. 3. 2. 10:57
반응형
엔지니어 Engineer : 사원번호 empNo, 사원명 name, 월급 salary, 주기술 skill 의 정보로 구성
매니저 Manager : 사원번호 empNo, 담당부서명 department, 월급 salary, 사원명 name 의 정보로 구성
비서 Secretary : 사원번호 empNo, 상관명 nameOfBoss, 월급 salary, 사원명 name 의 정보로 구성
> Class Diagram
package step3;
// 부모 클래스 (super class)
public class Employee { // extends Object
private String empNO;
private String name;
private int salary;
public Employee(String empNO, String name, int salary) {
super();// 최상위 Object 객체를 생성
this.empNO = empNO;
this.name = name;
this.salary = salary;
}
public String getEmpNO() {
return empNO;
}
public void setEmpNO(String empNO) {
this.empNO = empNO;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
}
package step3;
public class Manager extends Employee{
private String department;
public Manager(String empNO, String name, int salary, String department) {
// super 생성자 호출로 Employee 요소 정보를 할당
super(empNO, name, salary);
this.department = department;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
}
package step3;
public class Secretary extends Employee{
private String nameOfBoss;
public Secretary(String empNO, String name, int salary, String nameOfBoss) {
super(empNO, name, salary);
this.nameOfBoss = nameOfBoss;
}
public String getNameOfBoss() {
return nameOfBoss;
}
public void setNameOfBoss(String nameOfBoss) {
this.nameOfBoss = nameOfBoss;
}
}
package step3;
public class Engineer extends Employee{
private String skill;
public Engineer(String empNO, String name, int salary, String skill) {
super(empNO, name, salary);
this.skill = skill;
}
public String getSkill() {
return skill;
}
public void setSkill(String skill) {
this.skill = skill;
}
}
package step3;
public class TestSuper3 {
public static void main(String[] args) {
Employee e = new Employee("123","아이유",500);
System.out.println(e.getEmpNO()+" "+ e.getName()+" "+e.getSalary());
Manager m = new Manager("124","윤여정",700,"기획부");
System.out.println(m.getEmpNO()+" "+m.getName()+" "+m.getSalary()+" "+m.getDepartment());
Secretary s= new Secretary("135","조인성",900,"윤여정");
System.out.println(s.getEmpNO()+" "+s.getName()+" "+s.getSalary()+" "+s.getNameOfBoss());
Engineer eg = new Engineer("321", "길", 200, "노래");
System.out.println(eg.getEmpNO()+" "+eg.getName()+" "+eg.getSalary()+" "+eg.getSkill());
}
}
/*
123 아이유 500
124 윤여정 700 기획부
135 조인성 900 윤여정
321 길 200 노래
*/
반응형