결합도
결합도 개요 결합도(Coupling)는 소프트웨어 공학에서 모듈 간의 상호 의존성 정도를 나타내는 척도입니다. 즉, 한 모듈이 다른 모듈의 내부 구조나 동작에 얼마나 의존하고 있는지를 측정하는 개념으로, 소프트웨어의 품질, 유지보수성, 재사용성, 테스트 용이성에 큰 영…
결합도 개요 결합도(Coupling)는 소프트웨어 공학에서 모듈 간의 상호 의존성 정도를 나타내는 척도입니다. 즉, 한 모듈이 다른 모듈의 내부 구조나 동작에 얼마나 의존하고 있는지를 측정하는 개념으로, 소프트웨어의 품질, 유지보수성, 재사용성, 테스트 용이성에 큰 영…
정형 검증 (Formal Verification) 1. 개요 정형 검증(Formal Verification)이란 수학적 모델과 논리적 추론을 사용하여 소프트웨어나 하드웨어 시스템이 설계 명세(Specification)를 엄격하게 준수하는지를 증명하는 소프트웨어 공학 기…
템플릿 메서드 패턴 (Template Method Pattern) 템플릿 메서드 패턴은 알고리즘의 골격을 상위 클래스에 정의하고, 일부 단계의 구체적인 구현은 하위 클래스에서 담당하도록 하는 행동 디자인 패턴입니다. 이를 통해 전체적인 알고리즘 구조는 유지하면서, 특정…
낮은 결합도 (Low Coupling) 개요 낮은 결합도(Low Coupling)는 소프트웨어 공학 및 시스템 설계에서 모듈, 클래스, 컴포넌트 간 의존성이 최소화되어 있는 상태를 의미합니다. 결합도(Coupling)는 한 모듈이 다른 모듈과 얼마나 밀접하게 연결되어 …
인터페이스 주입 (Interface Injection) 인터페이스 주입(Interface Injection)은 의존성 주입(Dependency Injection, DI) 패턴의 한 종류로, 의존성을 외부에서 전달받는 객체가 특정 인터페이스를 구현함으로써 의존성을 제공받…
메인 애플리케이션 개요 메인 애플리케이션(Main Application)은 소프트웨어 시스템에서 사용자 인터페이스를 제공하고, 핵심 비즈니스 로직을 실행하며, 시스템의 다른 구성 요소들과 상호작용하는 중심적인 소프트웨어 모듈을 의미한다. 일반적으로 사용자가 직접 상호작…
제어의 역전 개요 제어의 역전(Inversion of Control, 약어: IoC)은 소프트웨어 공학에서 객체 지향 프로그래밍과 설계 패턴의 핵심 개념 중 하나로, 프로그램의 제어 흐름을 일반적인 방향과 반대로 만드는 디자인 원칙을 의미합니다. 전통적인 프로그래밍에서…
Gang of Four 개요 Gang of Four(이하 GoF)는 소프트웨어 공학 분야에서 객체지향 설계의 기초를 다진 네 명의 컴퓨터 과학자들을 일컫는 별칭입니다. 이들은 1994년 출판한 저서 『Design Patterns: Elements of Reusable …
정적 로드 (Static Loading) 1. 개요 정적 로드(Static Loading)란 프로그램이 실행되기 전, 운영체제나 로더(Loader)에 의해 프로그램의 모든 명령문과 데이터가 메모리(RAM)의 특정 영역으로 한꺼번에 배치되는 방식을 의미합니다. 이는 소프…