프레임워크(Framework)란 무엇일까?
소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경.
프레임워크는 명확하게 정의된 API를 가지고 코드를 재사용 가능한 형태로 구조화한다는 점에서 라이브러리와 비슷.
프레임워크의 장점
- 기반 구조를 그대로 재사용하고 비즈니스 로직과 관련된 부분을 추가적으로 구현하면 되기 때문에 빠른 어플리케이션 구축이 가능.
- 동일 프레임워크를 사용하는 어플리케이션들은 비슷한 뼈대 구조를 가지기 때문에 관리 및 테스트가 용이.
프레임워크와 라이브러리의 차이점
- 라이브러리에서는 호출 측이 전체 프로그램 제어 구조를 지정할 수 없지만, 프레임워크에서는 이러한 제어의 반전(inversion of control)이 가능.
- 라이브러리와 달리 프레임워크는 사용자가 선택적 오버라이딩이나 특정 기능을 수행하는 사용자 코드로 특수화하여 코드를 확장 재사용할 수 있음.
- 클래스 라이브러리의 경우 일반적으로 OOP의 구조를 사용해서 만들어진 재사용 구성품을 가리키며 목적과 사용법을 특별하게 한정하지 않음. 그러나 프레임워크는 단지 OOP를 사용해서 만들어진 라이브러리라고 하는 것뿐만 아니라 특정 목적을 달성하기 위한 어플리케이션의 미완성품을 가리킴.
[참고] 네이버 백과사전
[참고] 성공과 실패를 결정하는 1%의 객체 지향 원리]
'프로그래밍 > 용어' 카테고리의 다른 글
스네이크 표기법(snake_case), 카멜 표기법(camelCase), 파스칼 표기법(PascalCase) (0) | 2021.03.17 |
---|---|
NaN (Not a Number) (0) | 2018.12.25 |
API란? (0) | 2017.10.19 |
Deep Copy vs Shallow Copy (0) | 2017.09.05 |
WRITTEN BY
- 김치치즈스마일
세계정복!
,