Developed an Employee Management System in Java applying Object-Oriented Programming (OOP) principles.
Implemented inheritance with different employee types: SalariedEmployee and HourlyEmployee.
Used interfaces to enforce consistent behaviors such as displaying details and earnings.
Created a Department class to manage employees dynamically using ArrayList.
Applied polymorphism and abstraction for flexibility and scalability.
Each employee stores personal data (name, address, gender, SSN), while salary calculations differ by employee type.
Key Features:
Add / remove employees in a department
Calculate earnings for salaried and hourly employees
Display all employee details and total count
Example run in main to show system functionality