40. 다음 중 코드 스멜과 이를 해결하기 위한 리팩토링 방법을 가장 적절하게 연결한 것만으로 짝지은 것은? 코드 스멜리팩토링(가) 다른 클래스를 지나치게 애용 (Feature Envey)(a) 여러 클래스에 흩어진 유사한 기능을 한 곳으로 모은다.(나) 여러 클래스를 동시에 수정 (Shotgun Surgery)(b) 메소드를 그들이 애용하는 데이터가 있는 클래스로 옮긴다.(다) 유사 데이터의 중복 (Data Clumps)(c) 다형성으로 바꾼다. (같은 메소드를 가진 여러 개의 클래스를 구현한다.)(라) 너무 많은 Switch, if 문장(d) 해당 데이터들을 독립된 클래스로 정의 한다. ① (가) - (a), (다) - (c)② (가) - (b), (다) - (d)③ (나) - (a), (라) - ..