Framework

웃음인·2025년 5월 23일

Framework

목록 보기
1/7
post-thumbnail

📌 프레임워크(Framework)란?

소프트웨어 개발에 필요한 기본 구조(틀)와 반복적으로 사용되는 기능들을 미리 정의해놓은 재사용 가능한 코드 집합으로, 개발자가 핵심 로직에 집중할 수 있도록 설계되어 있으며, 특정 아키텍처나 설계 원칙을 강제하여 일관성과 생산성을 높여줌


🔧 프레임워크의 주요 특징

1. 제어의 역전(Inversion of Control, IoC)

  • 개발자가 전체 흐름을 제어하는 것이 아니라, 프레임워크가 코드 흐름을 제어합니다.
  • 개발자는 필요한 구성 요소만 작성하면 되고, 실행 흐름은 프레임워크가 담당합니다.
  • 대표 사례: Spring의 IoC 컨테이너

2. 공통 기능 제공

  • DB 연동, 인증/인가, 트랜잭션 처리, 예외 처리, 로깅 등 자주 쓰이는 기능을 내장
  • 반복 작업을 줄이고 표준화된 방식으로 구현 가능

3. 아키텍처 기반

  • 프레임워크는 MVC, Layered Architecture, RESTful 구조 등을 기반으로 설계되어 있음
  • 이를 통해 개발 표준을 강제하고 협업과 유지보수를 쉽게 함

4. 확장성과 유연성

  • 필요에 따라 커스터마이징 가능
  • 인터페이스, 추상 클래스, 설정 파일 등을 통해 사용자 정의 로직을 삽입할 수 있음

🧱 프레임워크 vs 라이브러리

구분프레임워크라이브러리
제어 흐름프레임워크가 흐름을 제어 (IoC)개발자가 직접 흐름을 제어
사용 방식정해진 구조에 맞게 사용필요한 기능만 선택적으로 호출
예시Spring, Django, AngularLodash, jQuery, Apache Commons


✅ 자바에서의 대표적인 프레임워크

분류프레임워크설명
웹 애플리케이션Spring FrameworkDI, AOP, MVC, 보안, 트랜잭션 등 포괄 지원
웹 MVCSpring MVCREST API 및 서버 렌더링 기반 웹 개발 지원
웹 부트스트랩Spring Boot설정 자동화, 내장 톰캣 등으로 개발 편의성 향상
ORMHibernate, Spring Data JPA객체-관계 매핑, DB 연동 간소화
SQL 매퍼MyBatisSQL 기반의 유연한 매핑 처리


✳️ 정리
프레임워크는 개발자가 애플리케이션을 효율적으로 개발할 수 있도록
구조와 기능을 미리 정의해 둔 개발 틀임. 제어 흐름을 개발자 대신 관리하며,
반복적인 작업을 줄이고 일관된 아키텍처를 적용할 수 있도록 도와줌.
자바에서는 Spring, MyBatis, JPA와 같은 다양한 프레임워크가 실무에서 널리 활용됨.

0개의 댓글