단일 책임 원칙의 정의 단일 책임 원칙은 '하나의 모듈은 하나의 일만 해야 한다'는 의미로 자주 오해되곤 한다. 이는 흔히 알려진 '하나의 함수는 하나의 일만 해야 한다'는 원칙과의 혼용되어 발생한 문제이다. 위의 원칙은 함수를 설계할 때 사용되는 원칙으로 단일 책임 원칙보다 저수준에서 사용된다. 단일 책임 원칙의 진짜 정의는 아래와 같다. 단일 모듈은 변경의 이유가 하나, 오직 하나뿐이어야 한다. 그렇다면 모듈을 변경하는 이유는 무엇일까? 그것은 바로 사용자가 이 모듈에 기대하는 책임이 변화할 때이다. 만약 사용자가 둘 이상이라 가정하면 모듈이 변화하는 이유는 두 가지 이상이 될 수 있다. A 사용자가 이 모듈에 기대하는 책임이 변화한 경우 B 사용자가 이 모듈에 기대하는 책임이 변화한 경우 즉, 위와..