구조(structural) 패턴은 객체와 클래스가 어떻게 더 큰 구조로 구성되는지를 다룹니다 — 개체 간의 관계를 조직하여 유연하고 효율적인 구조를 형성합니다. Adapter, Decorator, Facade, Proxy, Composite, Bridge가 포함됩니다.
구조 패턴이 다루는 것
구조 패턴은 객체/클래스가 어떻게 구성/관계되는지에 관한 것:
→ 관계를 조직하여 객체로부터 더 큰 구조를 만듦
→ 컴포넌트가 유연하게 함께 작동하게 함; 복잡한 구조를 단순화함
→ 생성이나 행위가 아니라 구성과 구조에 관한 것
주요 구조 패턴
ADAPTER → 호환되지 않는 인터페이스가 함께 작동하게 함 (한 인터페이스를 다른 것으로
변환하도록 감쌈) — "번역기"
DECORATOR → 객체를 감싸 행위를 추가함 (별도로 다룸)
FACADE → 복잡한 서브시스템에 단순한 인터페이스를 제공 (하나의 깔끔한 인터페이스 뒤로
복잡성을 숨김)
PROXY → 다른 객체에 대한 접근을 제어하는 대리/대용물 (지연 로딩, 접근 제어, 캐싱, 원격)
COMPOSITE → 개별 객체와 객체 그룹을 동일하게 다룸 (트리 구조)
BRIDGE → 추상화를 그 구현으로부터 분리함 (독립적으로 변화)
