[[단일 책임 원칙]]을 지키기 위한 방법 중 가장 자연스럽고 좋은 방법

하나의 책임만을 가지는 객체를 여러개의 클래스파일들에 분리해서 선언하고 관리하는것을 의미

![[Pasted image 20250319091803.png]]+
### **파일 분리를 하면 얻는 이점**

1. **가독성 증가**
    - 한 파일에 여러 책임이 섞여 있으면 관리하기 어려움.
    - 각 파일에 하나의 책임만 부여하면 **코드를 빠르게 이해할 수 있음**.
2. **유지보수 용이**
    - 기능이 추가/수정될 때 필요한 클래스만 보면 됨.
    - 특정 기능이 필요할 때 **어느 파일을 수정해야 할지 명확**함.
3. **재사용성 증가**
    - 한 클래스가 한 가지 역할만 하면, **다른 프로젝트에서도 재사용하기 쉬움**.
    - 예를 들어, `ReportGenerator`만 다른 시스템에서도 쉽게 활용 가능.
4. **충돌 방지**
    - 여러 사람이 개발할 때, **같은 파일을 수정할 확률이 낮아짐**.
    - 병합(merge) 충돌이 줄어들어 협업이 쉬워짐.
