본문 바로가기
junior developer :)/CS(Computer Science)지식

[CS] 프레임워크와 라이브러리 개념과 차이점

by ㅁ윤슬ㅁ 2022. 7. 28.
728x90
반응형

오늘은 개발의 효율성을 높여준다는 공통점을 지닌 두가지 "프레임워크"와 "라이브러리" 두가지에 대해서 적어보려고 합니다.

프레임워크(framework)

정의 : 뼈대라고 생각하면 됨, 작업의 뼈대가 정해져 있는 라이브러리

          여러 기능을 가진 클래스와 라이브러리가 합쳐진 형태로 라이브러리의 상위 그룹

 

특징 :

- 개발자가 작성한 메서드가 프레임워크게 의해서 호출된다(제어의 역전)

- 정해진 메뉴얼, 틀 등 개발을 시작하는 방법부터 기능을 구현하는 모든 것을 프레임워크에서 정해 놓은대로 따라야 함(제어의 흐름이 프레임워크에 있음) -> 개발자 학습시간이 필요함

- 체계적인 코드 관리로 유지 보수가 용이함

- 개발 생산성이 높아진다

 

예시 :

java이용자에게는 Spring

javascript이용자에게는 Node.js

python이용자에게는 Django

그외에도 React, Vue, Laravel이 있음

라이브러리(library)

정의 : 어떤 특정한 기능을 하기 위해 모아놓은 코드의 모음

 

특징 : 

- 내가 필요한 기능의 라이브러리만 따로 호출해서 사용할 수 있음 (개발의 흐름을 개발자가 제어)

- 개발자가 직접 만들어 제공할 수 있으나 호출한 라이브러리는 수정해서 사용 할 수 없음

- 재사용성을 높이고 반복적인 코드 사용을 낮추기 위해 사용된다

 

예시 :

Javascript는 jQuery, Bootstap등

Java는 Apache commons library

Python은 NumPy, Pandas, PyTorch

 


출처

https://inpa.tistory.com/entry/%F0%9F%91%A9%E2%80%8D%F0%9F%92%BB-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%EC%B0%A8%EC%9D%B4-%EC%A0%95%EB%A6%AC

 

https://velog.io/@nemo/framework-library-gfreqbgx

 

https://blog.naver.com/sw_maestro/222714290509

728x90
반응형