package com.haenin.section01.singleresponsibility.problem;
/* 설명.
*   단일 책임의 원칙(Single Responsibility Principle) -" 클래스의 책임이 너무 많거나 노출되면 안돼 "
*   - 한 클래스는 하나의 책임만 가져야 한다.
*   - 클래스가 변경되어야 하는 이유는 오직 하나여야 한다.
*   - 캡슐화를 통해 클래스의 책임을 명확히 하고 구현 세부사항을 숨긴다.*/

public class Application {
    public static void main(String[] args) {
        BadEmployee badEmp = new BadEmployee();
        badEmp.saveEmployee();          // 사원정보 DB 저장
        badEmp.reportWorkingHours();    // 근무시간 보고
        badEmp.applyPayRate();          // 직원의 급여 계산
    }
}

package com.haenin.section01.singleresponsibility.problem;

public class BadEmployee {
    private String name;
    private int workingHours;
    private int payRate;

    public BadEmployee() {
    }

    public void saveEmployee(){
        System.out.println("직원 정보를 데이터베이스에 저장");
    }
    public void reportWorkingHours(){
        System.out.println("근무시간 보고");
    }
    public void applyPayRate(){
        System.out.println("급여 정산");
    }

}