2023-06-18 20:42:45

파이썬 프로그래밍을 하다보면 헷갈릴 수 있는 용어들을 한 번 정리해보려고 합니다. 

 

모듈, 패키지, 라이브러리, 프레임워크 용어 정리

모듈: 변수, 함수, 클래스 등을 담은 하나의 파이썬 파일(.py)

 

패키지(= 모듈의 집합체): 서로 관련 있는 모듈들이 디렉터리 구조 안에 모여 있는 것

  

라이브러리(= 패키지의 집합체): 패키지와 같은 의미로 사용되는 경우도 많음. 하지만 엄밀히 분리하자면, 패키지는 모듈들의 집합체, 라이브러리는 패키지들의 집합체이다. 

 

프레임워크: 프레임워크는 모듈, 패키지, 라이브러리와는 성격이 조금 다르다. 모듈, 패키지, 라이브러리는 모두 사용자가 필요할 때 갖다 쓰는 개념이라면, 프레임워크는 프로그램 개발을 위한 뼈대를 제공해주는 것이다. 프레임워크를 사용하는 경우 제어의 흐름이 프레임워크에게 있다. 프레임워크가 개발자가 작성한 소스코드를 호출하는 구조이다. 반면 라이브러리를 사용하는 경우에는 제어의 흐름이 개발자에게 있다. 개발자가 제어의 흐름을 만들어낸다. 그래서 프레임워크를 쓰는 경우에는 제어의 흐름이 잘 보이지 않는다. 내부적으로 프레임워크가 제어하는 대로 흘러가기 때문이다. 

 

참고자료

[1] https://etloveguitar.tistory.com/138  

[2] https://code-lab1.tistory.com/284  

[3] https://stackoverflow.com/questions/7948494/whats-the-difference-between-a-module-and-package-in-python.  

[4] https://dojang.io/mod/page/view.php?id=2441