본문 바로가기

study

모듈 vs 패키지 vs 라이브러리 vs 프레임워크

반응형

 

 

 

  모듈   

- 프로그램을 구성하는 소스코드가 들어 있음 (ex. function) 

- 한 번 잘 만들어 놓은 모듈은 불러와서 재사용이 가능 (by import) 

- 즉, import ~~~ 요렇게 가져오는 파일들은 모두 모듈 

 

 

EX) 구구단 2단을 출력하는 소스코드가 들어 있는 한 파일 = 모듈 

 

 

 

  패키지(Package)   

- 여러 모듈의 묶음이다.

- 특정 기능과 관련된 여러 모듈을 하나의 상위 폴더에 넣은 것  

- "외부 패키지"란 외부 라이브러리에 있는 패키지를 의미 

 

 

EX) 

- 구구단 2~9단을 출력하는 소스코드가 각각 들어 있는 8개의 파일(모듈)을 묶어 놓은 => 패키지 

- node.js 에서 npm 받아서 사용함 (npm = node package manager)

- Linux에서 apt (ex. apt-get ...) 

 

 

 

 

  프레임워크(Framework)  

- 여러 패키지를 모아 하나의 프로그램을 구동할 수 있는 묶음이다. 

- 폴더 트리가 존재 (정해진 폴더 안에서 작업을 해야 프로그램이 돌아간다) 

 

EX) 리액트 - frontend framework ( react, react-dom, babel, webpack..etc.. ) 

- facebook 이 react, react-dom 만듬 그 외는 다른 개발자들 ! 

- Django(Python) , Spring(Java)  .. 

 

 

 

 

  라이브러리(Library)  

- 패키지와 모듈의 묶음 

- 공통으로 사용될 수 있는 특정한 기능들을 모듈화 한 것 (바로 실행 가능) 

- 비휘발성 자원의 모임 - 구성 데이터, 문서, 도움말, 메시지 틀, 미리 작성된 코드, 서브루틴(함수), 클래스 값, 자료형 등등이 포함된다. 

- 표준 라이브러리(기본) + 외부 라이브러리(개발자가 필요에 의해 개발) 존재 

- 회사, 개인, 단체 개발자들이 다양한 목적으로 수많은 라이브러리들을 개발하고 배포 -> 잘 쓰면 시간과 노력이 절약된다. 

 

EX) 

- 수학 풀이 프로그래밍 모음 라이브러리 => 안에 구구단 패키지 => 안에 2단 출력하는 모듈 

 

 

 

 

 


 

 

 

 

references: 

https://znos.tistory.com/41

 

python(파이썬) 패키지란? 라이브러리란? | 아무것도 모르고 시작하는 코딩

우리는 파이썬을 사용할 때 매번 함수와 변수를 정의한다. "어떤 함수는 어떤 기능을 한다고 하자" 하지만 같은 기능의 함수를 자주 사용한다면 이를 모듈로 저장해놓고, 새로운 파이썬 파일을

znos.tistory.com

 

반응형