모듈화와 계층 분리의 필요성소프트웨어 복잡성 증가와 유지보수의 어려움현황: 프로젝트 규모 증가 및 기능 다양화로 인한 소프트웨어 복잡성 증대주요 문제점:스파게티 코드 (Spaghetti Code):코드 흐름 파악 난해, 기능 간 복잡한 얽힘 발생예상치 못한 사이드 이펙트 발생 가능성 증가강한 결합도 (High Coupling):모듈/컴포넌트 간 과도한 의존성 발생특정 부분 변경 시 연쇄적인 수정 필요결과:변경 용이성 저하: 기능 추가/수정 시 높은 비용과 시간 소요테스트 어려움: 단위 테스트의 어려움, 통합 테스트 복잡성 증가협업 비효율성: 코드 충돌 빈번, 병행 개발 난이도 상승궁극적으로 소프트웨어 품질 저하, 개발 비용 증가, 프로젝트 일정 지연 초래모듈화 및 계층 분리의 목표핵심 원칙: 관심사 분리..