프레임워크라?

2024. 11. 26. 21:41카테고리 없음

프레임워크(Framework)란?

- 프레임워크는 소프트웨어 개발을 효율적이고 체계적으로 진행할 수 있도록 도와주는 기본 구조 템플릿을 제공한다. 개발자가 반복적으로 작성해야 하는 코드나 기능을 미리 구현해 두고, 개발자는 이 구조를 기반으로 프로젝트를 작성하며 핵심 로직에 집중할 수 있다.

프레임워크의 특징

1. 미리 정의된 구조

- 프레임워크는 소프트웨어를 어떤 방식으로 개발해야 하는지에 대한 표준 구조를 제공합니다. 이를 통해 일관성 있고 유지보수하기 쉬운 코드를 작성할 수 있다.

2. 제어의 역전 (Inversion of Control)

- 프레임워크는 애플리케이션의 흐름을 스스로 관리하며, 개발자는 프레임워크가 제공하는 규칙에 따라 필요한 기능을 구현합니다. 즉, 프레임워크가 개발자의 코드를 호출하는 방식입니다.
예: Unity에서 Start()와 같은 메서드는 Unity가 호출합니다.

3. 재사용성

- 공통적으로 필요한 기능(예: 데이터베이스 연결, HTTP 요청 처리, UI 관리 등)을 미리 구현하여 제공하기 때문에 개발자는 이를 재사용할 수 있다.

4. 생산성 향상

- 프레임워크를 사용하면 많은 기능이 이미 제공되기 때문에 시간을 절약하고, 핵심 기능 개발에 집중할 수 있다.

5. 커스터마이징 가능

- 프레임워크는 기본 기능을 제공하면서도, 필요에 따라 개발자가 기능을 확장하거나 수정할 수 있는 유연성을 제공합니다.

프레임워크와 라이브러리의 차이

프레임워크: 코드의 흐름을 프레임워크가 제어합니다.

- 개발자는 프레임워크의 규칙을 따르며, 특정 메서드를 구현하는 방식으로 작업합니다.

 

예: Django(웹 개발), Unity(게임 개발), Spring(Java 개발)

 

라이브러리: 개발자가 필요한 기능을 가져와서 직접 호출합니다.

- 특정 작업(예: 문자열 조작, 데이터베이스 연결 등)을 수행하기 위해 함수나 클래스를 가져다 사용하는 방식입니다.

 

예: NumPy(Python), jQuery(JavaScript), Dapper(.NET)

 

총정리

프레임워크는 개발자가 효율적이고 체계적으로 소프트웨어를 개발할 수 있도록 도와주는 도구이다. 규칙에 따라 개발해야 하지만, 이 규칙을 준수하면 코드의 일관성을 유지하고 생산성을 크게 높일 수 있다.

프레임워크의 기본 철학은 "미리 만들어진 것을 사용해 개발을 단순화하자"이다. 이를 잘 활용하면 더 빠르고 안정적인 소프트웨어를 개발할 수 있다.