본 글은 Framework(이하 프레임워크)와 Library(이하 라이브러리)의 차이점을 알아보던 중 보게 된
유튜버 노마드 코더(Nomad Coders)의 라이브러리? 프레임워크? 차이점 아직도 모름? 5분 순삭. 영상을 기반으로
짧게 작성하였다.
두 개념에 대해 어느 정도 지식이 있다는 전제하에 쓸 것이고,
이 글로 간단하게 개념을 이해하고 위의 영상으로 한번 더 복습해보자.
프레임워크와 라이브러리의 가장 큰 차이
핵심적인 차이점은 누가 누구를 Control(제어) 하는가 이다.
라이브러리
먼저 라이브러리를 보자.
C언어든 Python이든, 간단한 코딩을 해본 사람이라면 알겠지만
코딩을 할 때에 라이브러리라는 것을 사용해본 적이 있을 것이다.
예를 들면,
파이썬에서 여러 수학 공식을 사용하고 싶다면
import math 를 통해 math 라이브러리를 불러오는 것처럼 말이다.
이처럼 라이브러리는 프로그래머가 원할 때마다 라이브러리를 불러와 사용하고,
필요 없으면 부를 필요가 없기 때문에
프로그래머가 코드를 제어한다고 생각할 수 있다.
프레임워크
반면에 프레임워크는 코드가 프로그래머를 제어한다.
이해하기 조금 애매한데,
'프레임워크'라는 것은 단어 뜻 그대로
어떠한 특정 기능을 하는 코드의 뼈대를 프로그래머에게 제공해준다.
그럼 프로그래머는 그 뼈대를 기반으로 원하는 기능들을 쇽쇽 채워 넣으면 된다.
예를 들면,
파이썬을 기반으로 만들어진 웹 프레임워크인 Django(장고)에서
내가 만들고 있는 웹의 url을 변경하고 싶다고 하자.
그러면 반드시 urls.py 라는(파일명도 똑같이) 파이썬 스크립트를 만들어서
해당 파일에서 원하는 url 작업을 해야 한다.
왜냐하면 장고는 코드를 실행할 때 반드시 urls.py 스크립트를 읽기 때문이다.
이처럼 프레임워크는 프로그래머에게 특정 요구 사항 등을 요구하며 충족시키도록 제어한다.
끝!
'Study > ETC' 카테고리의 다른 글
[ETC][일상][배포] 인생 첫 배포 후기 (0) | 2021.01.06 |
---|---|
[ETC][일상][세미나] 2020 우아한 테크 콘서트 후기 (0) | 2020.12.21 |
[ETC] 매개변수(파라미터, Parameter), 인수(아규먼트, Argument) 차이 (0) | 2020.11.30 |
[ETC] *nix 란? (0) | 2020.11.23 |
[ETC][NLP] BERT란? (2) | 2020.05.31 |