1. SRP(Single Responsibility Principle) : 단일 책임 원칙 콘웨이(Conway) 법칙에 따름 정리 : 각 Software module은 변경의 이유가 하나, 단 하나여야만 한다. Module이 하나의 일을 해야한다는 의미는 아니다. 해당 Module의 변경을 요청하는 한 명 이상의 사람들(actor)에 대해서만 책임을 져야 한다는 것이다. 이 때 Module은 소스가 될 수도 있고 함수나 데이터베이스가 될 수도 있다. 1.1. 우발적 중복 이 클래스는 SRP를 위반하는데, 이들 3가지 Method가 서로 매우 다른 3명의 actor를 책임지기 때문이다. calculatePay() method는 회계팀에서 기능을 정의하며, CFO 보고를 위해 사용한다. reportHours..