개발 관련 유튜브나 서적을 보면 레거시(legacy)라는 단어를 자주 접하게 됩니다. 사전적인 의미로 유산이라는 뜻인 건 알았지만, 개발 문화에서는 정확히 어떤 의미로 사용하는지 궁금하게 되어 공부하게 되었습니다. 레거시에 대해 찾다 보니 자연스럽게 리팩토링(refactoring)도 접하게 되었고, 보다 자세히 알고 싶어 강의를 수강하게 되었습니다. 레거시 코드(Legacy Code) 레거시 코드란 나를 포함한 모든 개발자가 기존에 개발했던 코드를 일컫습니다. 어떠한 코드이든 간에 기술의 변화가 많은 이 시점에서 시간이 흐르면 낡은 기술이 될 것입니다. 이밖에도 코드의 가독성이 떨어지는 경우, 코드의 규약이 없는 경우, 코드의 결합도가 높은 경우, 테스트 코드가 없는 경우 등의 여러가지 원인들을 가진 코..