반응형
이글을 쓰게된 원인
프레임워크와 라이브러리는 많이 들어보긴했지만 정확하게 정의를 하거나 설명하기에 개념이 부족한 것 같아서 정리하게됬습니다.
프레임워크란(Framework)
프레임워크의 개념을 찾아보면 "소프트웨어의 설계 및 구현을 재사용이 가능하도록 일련의 협업화된 형태로 클래스들을제공 하는 것" 또는 "소프트웨어의 특정문제 해결을 위한 상호협력하는 클래스와 인터페이스의 집합" 이라고 정의되어있습니다.
이는 간단하게 소프트웨어의 개발을 도와주는 틀, 뼈대라고 생각할 수 있으며, 프레임워크의 사용자는 이러한 틀 안에서 코드를 작성하여 소프트웨어를 완성하는 것 입니다.
인터페이스: 다른 클래스를 작성할 때 기본이 되는 틀을 제공하는 일종의 추상클래스
라이브러리란(Library)
라이브러리는 프레임워크 보다 간단한 개념으로서 특정기능을 가지는 도구 및 함수들의 집합입니다.
이는 간단하게 어떠한 물건을 만든다고 가정했을때 사용되는 도구들이라고 생각할 수 있으며, 이미 만들어진 기능들의 집합입니다. 이러한 기능들은 사용자가 가져와서 자유롭게 사용할 수 있으며, 사용자가 틀 안에서 코드를 작성하는 프레임워크의 개념과는 차이가 있습니다.
라이브러리: 사용자가 개발의 흐름을 제어한다.
프레임워크: 프로그램이 개발의 흐름을 제어한다.
라이브러리 예: Retrofit (통신을 도와주는 라이브러리), STL (c++의 표준라이브러리) 등
프레임워크 예: Spring, React Native, Flutter 등
반응형
'Programming > Development Knowledge' 카테고리의 다른 글
애자일 모형 및 스크럼 개념정리 (0) | 2022.02.18 |
---|---|
API 간단한 개념 정리 (0) | 2022.02.06 |
객체지향언어2 -자바- for-each문 예외처리 클래스 생성자 (0) | 2021.09.26 |
오픈소스소프트웨어 (git, init, commit, branch, merge, push, stage, gitignore) (0) | 2021.09.20 |
데이터통신 기초 (호스트, 패킷, bps, 이더넷, 패킷전송지연, 패킷교환, 라우팅, 회선교환, 종단시스템) (0) | 2021.09.18 |