Ted's Codding study
퀴즈 - 직원 관리 시스템 본문
TypeScript
퀴즈 - 직원 관리 시스템 Ted93 2024. 6. 30. 10:35
Employee 기본 클래스 생성
class Employee {
// 속성: name (문자열)과 id (숫자)
// 생성자를 사용하여 초기화
// 메서드: displayInfo() 메서드 - 직원의 정보를 출력
}
정답
class Employee {
constructor(
public name: string,
public id: number,
) {}
displayInfo() {
console.log(`Name: ${this.name}, Id: ${this.id}`);
}
}
Manager 클래스 생성
Employee 클래스를 확장
class Manager extends Employee {
// 추가 속성: subordinates (Employee 배열)
// 부모 클래스의 생성자를 호출
// 메서드: addSubordinate(employee: Employee) 메서드 - 하위 직원을 목록에 추가
// 메서드: listSubordinates() - 모든 하위 직원의 정보를 출력
}
정답
class Manager extends Employee {
private subordinates: Employee[] = [];
constructor(name: string, id: number) {
super(name, id);
}
addSubordinate(employee: Employee) {
this.subordinates.push(employee);
}
listSubordinates(): void {
console.log(`Manager: ${this.name}`);
this.subordinates.forEach((emp) => emp.displayInfo());
}
}
사용 및 출력
const managerA = new Manager('테드', 1);
const emp1 = new Employee('찰리', 2);
const emp2 = new Employee('마이클', 3);
managerA.addSubordinate(emp1);
managerA.addSubordinate(emp2);
managerA.listSubordinates();
// Manager: 테드
// Name: 찰리, Id: 2
// Name: 브라운, Id: 3
노션으로 보고 싶다면?
https://short-echidna-b16.notion.site/126f533e69834acb8cc50831e0a10729?pvs=4