문제2) 리팩토링(Refactoring)에 대한 아래의 사항을 설명하시오. 가. 정의, 목적, 리팩토링 순서, 리팩토링 주요기법 나. 코드스멜(Code Smell) 의 정의와 특징 다. 코드스멜의 종류를 3개이상 기술하고 각각의 리팩토링 방법 답) 1. SW 내부로직의 재구조화 작업, 리팩토링의 정의 및 목적 가. 리팩토링의 정의 소프트웨어 모듈의 외부적 기능은 수정하지 않고 내부적인 구조, 관계등을 단순화하여 소프트웨어의 유지보수성을 향상시키는 기법 나. 리팩토링의 목적 소프트웨어 디자인 개선 설계 의도와 구현 코드의 일관성을 유지하여 설계 변경 용이 소프트웨어 이해도 향상 이해하기 쉬운 코드는 개발자의 작업시간 단축 오류발견 용이성 확보 소스 구조를 명확히 함으로써 버그 원인 쉽게 발견 전체 개발 생..