[리팩토링] - 겉으로 드러나는 기능은 그대로 둔 채, 알아보기 쉽고 수정하기 간편하게 소프트웨어 내부를 수정하는 작업 [리팩토링의 목적]- 소프트웨어를 더 이해하기 쉽고 수정하기 쉽게 만드는 것이다. 리팩토링을 수행하면 겉으로 드러나는 기능에 거의 영향을 주지 않은 채 소프트웨어의 코드를 간결하게 변경할 수 있다. 1. 소프트웨어 설계 개선2. 소프트웨어 이해 쉬워짐(코드 간결. 가독성 향상)3. 버그 찾기 쉬워짐4. 프로그래밍 속도 향상 * 소프트웨어 개발에 리팩토링을 적용할 땐 기능을 추가하지말고 코드만 추가해야 한다. 기능을 추가할 땐 코드를 수정하지 말고 기능만 추가해야 한다. 진행 상태를 파악하려면 테스트를 추가하고 그 테스트들이 제대로 되는지 알아내면 된다. =>리팩토링할 때는 코드를 추가하..