-
프레임워크와 라이브러리의 차이점을 아시나요?Development/ETC. 2020. 10. 24. 23:40
프레임워크와 라이브러리, 개발업무를 하다보면 이 둘을 사용해본 경험이 있을겁니다.
그런데.. 정확한 의미를 알고 사용하시는 분들은 많지 않으리라 생각됩니다.
(혹시 저만 몰랐을 수도 있어요 하하..)먼저.. 둘의 정의에 대하여 알아보겠습니다.
프레임워크란?
이름 그대로 Framework 즉, 뼈대의 형태를 가지고 있습니다. 가장 큰 특징으로는 제어의 역전 개념이 포함되어 있는데
프레임워크가 전체적인 흐름을 컨트롤(제어권을 넘겼기 때문) 하기 때문에 개발자는 필요한 코딩만 할 수 있습니다.
대표적인 프레임워크로는 Spring framework, .NET Framework가 있습니다.
또한, 모듈화된 기능을 통하여 재사용 성을 높이고 다른 개발자와 협업 시 비슷한 수준의 개발 패턴을 유지 할 수 있는 장점이 있습니다.라이브러리란?
dll 또는 jar 파일을 많이 접해 보셨을 것으로 예상됩니다. 해당 라이브러리의 내용을 보면 단순 기능 동작을 위한 메서드들의 집합임을 확인 할 수 있습니다. 이처럼 특정 기능을 사용하기 위한 메서드, 함수 등의 집합을 라이브러리라고 합니다.
그렇다면 둘 다 기능을 모듈화 한 집합 이기때문에 같은것 아니야? 라는 혼란이 올 수있습니다.
이 둘의 차이점은 역전의 제어(흐름의 주도권을 누가 가지고 있는지) 입니다.
프레임워크는 개발자가 특별히 신경을 쓰지 않아도 설계된 흐름 대로 흘러가게 됩니다.
예를들어, 프레임워크의 데이터베이스를 연결하는 기능을 사용하면 별도로 신경쓰지 않아도 기본으로 설계된 transaction 관리, timeout 관리 설정 대로 데이터베이스 흐름을 관리해 줍니다.
반면, 라이브러리는 단순 기능의 집합이기 때문에 개발자가 흐름을 설계하고 적재적소에 라이브러리 기능을 활용해 주어야 합니다.프레임워크를 컴퓨터 라고 한다면, 라이브러리는 애플리케이션에 비유할 수 있습니다.
컴퓨터(프레임워크)를 사용하게되면 내부의 OS에서 알아서 부팅을 해주고 바탕화면을 띄워주고, 자원도 관리해줍니다.
만약 계산기능이 필요하게된다면 계산기(라이브러리) 어플을 별도로 설치해야겠죠.
프레임워크와 라이브러리의 차이점을 알고있는 개발자가 되도록 합시다. 하하..'Development > ETC.' 카테고리의 다른 글
[Git Error] [rejected] main -> main (non-fast-forward) 문제 (1) 2021.03.24 .Net Core 의존성 주입 (DI) (0) 2021.03.20 UUID (Universally Unique Identifier)? (0) 2020.09.10 fatal error C1083: Cannot open include file: 'MNN_generated.h': No such file or directory(feat. MNN) (0) 2020.07.01 cl.exe is not able to compile a simple test program(feat. MNN Demo) (0) 2020.06.30 댓글