핵심 인사이트 (3줄 요약)

  • 계층형 아키텍처는 시스템의 기능을 수직적 관심사(Concern)에 따라 분할하여 관리하는 가장 보편적인 구조임.
  • 각 계층은 하위 계층에만 의존하며, **계층의 격리(Layer Isolation)**를 통해 유지보수성과 테스트 용이성을 확보함.
  • 수평적 확장이 용이하고 구조가 명확하여 엔터프라이즈 애플리케이션의 기본 모델로 널리 사용됨.

Ⅰ. 개요 (Context & Background)

  • '관심사의 분리(Separation of Concerns)'를 실현하기 위해 사용자 인터페이스, 비즈니스 로직, 데이터 접근 기능을 각 층으로 나눔.
  • 상위 계층은 하위 계층이 제공하는 서비스를 호출하며, 하위 계층의 구체적인 구현 방식은 알 필요가 없음.
  • 주로 3계층(3-Tier) 또는 4계층(4-Layer) 구조가 표준적으로 사용됨.

Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)

  • 표준적인 4계층 구조는 Presentation, Application, Domain, Infrastructure로 나뉘며, 각 계층의 역할이 엄격히 규정됨.
[ Standard 4-Layer Architecture ]
+---------------------------------------+
|  Presentation Layer (UI / API)        | <--- User/Device
+---------------------------------------+
|  Application Layer (Service Orchestr.)| <--- Logic/Flow
+---------------------------------------+
|  Domain Layer (Business Logic / Model)| <--- Pure Domain
+---------------------------------------+
|  Infrastructure Layer (DB / External) | <--- DB/FileSystem
+---------------------------------------+

[ BILINGUAL FLOW: Access Rules ]
(O) Valid : Upper Layer -> Lower Layer
(X) Invalid : Lower Layer -> Upper Layer (Strictly Prohibited)
(X) Invalid : Skip Layer (Generally Prohibited for Isolation)

+-------------------+       +-------------------+
|   Presentation    | ----> |    Application    |
| [Controller]      |       | [Service Manager] |
+-------------------+       +-------------------+
                                      |
                                      V
+-------------------+       +-------------------+
|   Infrastructure  | <---- |      Domain       |
| [Repository]      |       | [Entity / Logic]  |
+-------------------+       +-------------------+

Ⅲ. 융합 비교 및 다각도 분석 (Comparison & Synergy)

항목폐쇄형 계층 구조 (Closed)개방형 계층 구조 (Open)
의존 방식바로 아래 계층만 호출 가능모든 하위 계층 호출 가능
격리 수준높음 (격리 원칙 준수)낮음 (유연성 중시)
유지보수성우수 (영향 범위 제한)보통 (결합도 상승 위험)
성능불필요한 위임 가능성 존재직통 호출로 오버헤드 감소

Ⅳ. 실무 적용 및 기술사적 판단 (Strategy & Decision)

  • 엄격한 격리 유지: 하위 계층의 변화가 상위 계층에 영향을 주지 않도록 DTO(Data Transfer Object)를 사용하여 데이터를 변환 전달함.
  • 안티패턴 주의: 도메인 계층이 비어 있고 애플리케이션 계층에만 로직이 쏠리는 '빈약한 도메인 모델(Anemic Domain Model)'을 경계해야 함.
  • 단점 극복: 계층이 너무 많아지면 단순한 기능 구현에도 많은 코드가 필요(Overhead)하므로, 서비스 규모에 맞게 계층을 최적화함.

Ⅴ. 기대효과 및 결론 (Future & Standard)

  • 계층형 구조는 팀 단위의 병렬 개발(계층별 담당)을 가능케 하여 대규모 프로젝트 관리에 최적화됨.
  • 현대적인 헥사고날(Hexagonal)이나 클린 아키텍처는 사실 계층형 아키텍처에서 '의존성 역전'을 통해 도메인을 중앙으로 옮긴 진화된 형태임.
  • 결론적으로 계층형 아키텍처는 검증된 안정성을 바탕으로 시스템의 복잡도를 제어하는 핵심 무기임.

📌 관련 개념 맵 (Knowledge Graph)

  • 상위 개념: 아키텍처 스타일, 관심사의 분리 (SoC)
  • 하위 개념: 3-Tier, n-Tier 아키텍처, 계층의 격리 (Isolation)
  • 연관 개념: 헥사고날 아키텍처, 의존성 역전 원칙 (DIP), DTO 패턴

👶 어린이를 위한 3줄 비유 설명

  • 햄버거처럼 빵, 패티, 야채가 층층이 쌓여 있는 모양이에요.
  • 빵(UI)을 먹을 때 패티(DB)가 어떻게 만들어졌는지 몰라도 맛있게 먹을 수 있어요.
  • 각 층이 자기 역할만 잘하면 아주 맛있는 햄버거가 완성되는 것과 같아요.