클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다는 원칙
Class는 해당 클래스만이 가지고 있는 기능 또는 목적이 있을 것임
쉽게 말하면 모든 기능을 하나의 클래스에 다 때려박지 말라는 말
그럼 그 기준은 어떻게 정하냐고 물을 수 있다. << 이건 개발자 영역
기준이 모호하기 때문에 변경을 책임의 기준으로 삼으면 설계에 용이할 수 있다.
객체를 쪼갤 때 기능으로 쪼개든 목적으로 쪼개든 다 좋은데 그 근본 목표가 유지보수를 향해있어야한다.
즉 유지보수성을 극대화해라! S/W의 특징(유연함)

결국 처음에 언급한 대로 기준은 변경 가능성이며 그 판단은 개발자의 몫
SRP는 "무조건 기능 하나당 클래스 하나"가 아니라 "변경 이유가 섞이지 않게 해라"는 원칙