34. 소프트웨어를 보다 쉽게 이해할 수 있고 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화 없이 내부구조를 변경하는 것은?
❶ Refactoring ② Architecting
③ Specification ④ Renewal
리팩토링(Refactoring)과 관련된 문제에 대해 자세히 해설해 드리겠습니다.
문제:
"소프트웨어를 보다 쉽게 이해할 수 있고 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화 없이 내부 구조를 변경하는 것은?"
- Refactoring (리팩토링)
- Architecting (아키텍팅)
- Specification (명세화)
- Renewal (갱신)
정답: ❶ Refactoring (리팩토링)
각 선택지에 대한 설명:
- Refactoring (리팩토링):
- 정의: 리팩토링은 소프트웨어의 내부 코드를 변경하여, 소프트웨어의 기능이나 외부 동작은 그대로 두고, 코드의 가독성, 유지 보수성, 효율성을 높이는 작업을 말합니다.
- 목적: 리팩토링의 목표는 코드를 더 이해하기 쉽게 만들고, 향후 수정이나 확장이 용이하도록 내부 구조를 개선하는 것입니다.
- 특징: 외부 동작은 변하지 않지만, 내부 구조나 코드의 품질을 개선하는 것이기 때문에 소프트웨어의 동작에 영향을 미치지 않으며, 주로 코드를 더 깔끔하고 효율적으로 만들기 위한 작업입니다.
- 예시: 함수나 클래스를 리팩토링하여 중복 코드를 제거하고, 더 명확하게 만들거나, 코드의 성능을 개선하는 등의 작업을 포함합니다.
- Architecting (아키텍팅):
- 정의: 소프트웨어 시스템의 전체적인 구조나 설계를 설계하는 과정입니다. 아키텍팅은 시스템을 어떻게 설계할지에 대한 큰 틀의 계획을 세우는 것입니다.
- 목적: 시스템의 전반적인 구조를 설계하여 성능, 보안, 확장성 등을 고려한 시스템을 만드는 것이 중요합니다.
- 특징: 이는 소프트웨어의 기본적인 구조와 컴포넌트들이 어떻게 연결되고 동작할지를 정의하는 단계입니다. 리팩토링과는 달리 기존 소프트웨어의 동작을 바꾸는 것이 아니라 처음부터 설계를 잘하는 데 집중합니다.
- Specification (명세화):
- 정의: 소프트웨어의 요구 사항이나 동작을 명확히 정의하는 과정입니다. 명세화는 시스템이 어떻게 동작해야 하는지, 어떤 기능을 제공해야 하는지 등을 문서로 정의합니다.
- 목적: 명세화는 소프트웨어 개발 초기 단계에서 필요한 요구 사항을 정확히 정의하여, 개발팀이 구현해야 할 기능을 명확하게 전달하는 데 도움을 줍니다.
- 특징: 명세화는 실제 코드 구현에 앞서 어떤 기능이 필요한지를 정리하는 작업으로, 리팩토링과는 다르게 시스템의 기존 구조를 개선하는 것이 아니라 새로운 요구 사항을 정의하는 과정입니다.
- Renewal (갱신):
- 정의: 갱신은 보통 소프트웨어나 시스템을 최신 상태로 업데이트하거나 재구성하는 작업을 말합니다.
- 목적: 시스템이나 소프트웨어가 시간이 지나면서 구식이 되지 않도록 주기적으로 최신 상태로 바꾸는 것이 목적입니다. 새로운 기술을 도입하거나 시스템을 최신 버전으로 업그레이드하는 등의 작업을 포함할 수 있습니다.
- 특징: 갱신은 주로 소프트웨어의 외부 동작이나 기능을 개선하거나 변경하는 것이며, 내부 코드 구조를 단순히 개선하는 리팩토링과는 다른 개념입니다.
리팩토링(Refactoring)과 다른 개념들의 차이점:
- 리팩토링은 기존 코드의 구조를 개선하는 작업으로, 기능이나 동작에 변화 없이 내부 코드만 개선합니다. 예를 들어, 코드의 가독성을 높이거나, 중복을 제거하고, 유지보수성을 개선하는 것이 목적입니다.
- 반면, 아키텍팅은 소프트웨어의 전체 설계를 다루며, 소프트웨어의 초기 구조 설계에 집중합니다.
- 명세화는 소프트웨어가 무엇을 해야 하는지에 대한 요구 사항을 정의하는 과정이고, 갱신은 기존 시스템을 최신 상태로 업데이트하는 작업입니다.
따라서 리팩토링이 맞는 답입니다.
반응형
'기출문제 > 정보처리기사' 카테고리의 다른 글
2022년 2회 정보처리기사 기출문제 36번 (0) | 2025.02.25 |
---|---|
2022년 2회 정보처리기사 기출문제 35번 (0) | 2025.02.25 |
2022년도 2회 정보처리기사 기출문제 33번 (0) | 2025.02.24 |
2022년도 2회 정보처리기사 기출문제 32번 (0) | 2025.02.24 |
2022년도 2회 정보처리기사 기출문제 31번 (0) | 2025.02.23 |