중복 코드의 단점
- 비슷한지, 완전히 동일한 코드인지 주의 깊게 봐야한다.
- 코드를 변경할 때 ,동일한 모든 곳의 코드를 변경해야한다.
사용할 수 있는 리팩토링 기술
- 동일한 코드를 여러 메소드에서 사용하는 경우 → 함수 추출하기
- 코드가 비슷하지만 완전히 같지 않는다면 → 코드 분리
- 여러 하위 클래스에 동일한 코드가 있다면 → 메서드 올리기
함수 추출하기
- “의도” 와 “구현” 분리하기
- 무슨 일을 하는 코드인지 알아내려고 노력해야하는 코드라면 해당 코드를 함수로 분리하고 함수 이름으로 “무슨 일을 하는지” 표현