똑같은 코드 구조가 여러 곳에서 반복된다면 하나로 통합하여 더 나은 프로그램을 만들 수 있다. 코드가 중복되면 각각 코드를 볼 때마다 차이점이 존재하는지 주의 깊게 봐야 한다. 만약 중복 코드 중 하나를 변경하려고 할 때에는 다른 비슷한 코드들도 모두 살펴보고 적절히 수정해야 한다. 함수 추출하기 클래스 내에서의 메서드가 똑같은 표현식을 사용하는 경우 문장 슬라이드하기 클래스 내에서의 메서드가 비슷한데 완전히 똑같지 않은 경우 메서드 올리기 같은 부모로부터 파생된 서브 클래스들에 코드의 중복이 있는 경우 함수 추출하기 여기서 함수란 객체지향 언어의 method 혹은 절차형 언어의 procedure / subroutine 에도 동일하게 적용된다. 함수 추출하기란 코드 조각을 찾아 무슨 일을 하는지 파악한 ..