모듈화

2025. 6. 13. 09:29·Software Engineering/Software Development Principles

모듈화는 프로그램을 작은 단위로 분할하는 개념입니다. 각각의 모듈은 특정 기능을 수행하는 코드의 집합이며, 독립적으로 개발 및 테스트, 유지보수를 할 수 있습니다. 모듈화를 통해서 코드의 재사용성, 가독성, 유지보수성을 향상 시킬 수 있습니다. 언리얼에서 대표적으로 게임 플레이 기능 단위의 모듈화인 컴포넌트(Component) 와 코드 레벨, 프로젝트 구조 차원의 모듈화인 모듈시스템("Core", "CoreUObject", "Engine", "InputCore",  ...)이 있습니다.

 

모듈화 프로그래밍의 이점

모듈화는 코드의 재사용성과 유지보수성을 크게 향상시킵니다. 인터페이스를 통해 모듈 간의 상호 작용을 명확히 할 수 있고 소프트웨어의 확장성도 모듈화를 통해 개선됩니다. 독립적으로 작동하기에 새로운 기능을 추가하거나 기존 기능을 수정할 때 전체 시스템을 변경하지 않고도 필요한 모듈만을 업데이트 할 수 있으며 한 모듈의 오류가 다른 모듈로 전파될 가능성이 낮기에 개발 과정의 오류를 줄이는 데에도 기여합니다.

 

모듈화 프로그래밍의 주의

모듈화 프로그래밍은 인터페이스와 구현의 분리 원칙을 적용하여 모듈간 결합도를 낮추고 의존성을 최소화하는 것을 지향합니다. 각 모듈이 독립적으로 개발되고 테스트 될 수 있도록 해야 모듈화 프로그래밍의 이점을 크게 살릴 수 있기 때문입니다. 모듈 역시 단일 책임 원칙(SRP)을 따라 하나의 주요 역할 또는 기능 단위를 담당해야 하며, 역할이 많아지면 응집도가 떨어지고 결합도가 높아질 수 있습니다. 

'Software Engineering > Software Development Principles' 카테고리의 다른 글

응집도 (Cohesion)  (0) 2025.06.15
결합도 (Coupling)  (5) 2025.06.14
칸반 보드 (Kanban Board)  (0) 2025.06.12
Dead Lock ( 교착 상태 )  (0) 2025.05.27
Hash Code (해시 코드)  (0) 2025.05.26
'Software Engineering/Software Development Principles' 카테고리의 다른 글
  • 응집도 (Cohesion)
  • 결합도 (Coupling)
  • 칸반 보드 (Kanban Board)
  • Dead Lock ( 교착 상태 )
Mr.Vulpes
Mr.Vulpes
여우비가 내리는 시간입니다.
  • Mr.Vulpes
    여우비 개발실
    Mr.Vulpes
  • 전체
    오늘
    어제
    • Browse All Categories (50) N
      • Unreal (12) N
        • Core Concepts (7)
        • Unreal For C++ (5) N
      • C++ Programming (4)
        • C Basic (4)
      • DirectX (5)
        • Basic (3)
        • DirectX - Class (2)
      • Math & Physics (3)
        • Vectors (3)
      • Software Engineering (26)
        • Software Development Princi.. (23)
        • Design Pattern (3)
  • hELLO· Designed By정상우.v4.10.3
Mr.Vulpes
모듈화
상단으로

티스토리툴바