리팩터링은 소프트웨어 공학에서 '결과의 변경 없이 코드의 구조를 재조정함'을 의미
- 코드 구조 개선: 기존 코드의 내부 구조나 논리를 변경하여 가독성을 높이고 유지보수를 용이하게 합니다.
- 기능 유지: 사용자가 보는 외부 동작이나 기능은 그대로 유지합니다.
- 목적:
- 코드의 가독성 향상
- 유지보수성 개선
- 확장성 증대
- 복잡성 감소
- 중복 제거: 코드의 중복을 제거하여 유지보수 비용을 줄이고 버그 발생 가능성을 낮춥니다.
- 성능: 리팩터링의 주 목적은 성능 향상이 아니지만, 잘 수행된 리팩터링은 성능 튜닝에 도움을 줄 수 있습니다.
- 자동화: 많은 개발 환경에서 기본적인 리팩터링 작업을 자동으로 수행할 수 있는 도구를 제공합니다.