티스토리 뷰
1. 라이브러리
코드 작성시 import해서 쓰는 그것! 개발자들이 먼저 만들어놓은 클래스의 메소드 등을 말한다! 코드를 짜는 프로그래머들은 이 메소드들을 도구처럼 가져와서 쓰고, 원하는 코드를 완성시킨다는 점에서 프로그래머에게 제어권이 있다.
2. 프레임 워크
뜻부터가 뼈대다. 프레임워크는 내 코드를 검사해서 자신의 뼈대에 적합한지 검사한다. 라이브러리를 사용자가 필요에 맞게 가져와서 쓰는 개념이라면 프레임워크는 사용자가 그 프레임워크 위에서 작업하는 것이다.
그래서 해당 프레임워크의 문법에 따라야한다. 이런 점에서 라이브러리와 다르게 제어권은 프로그래머가 아닌 프레임워크에게 있고, 이를 <제어의 역전> 이라고 한다
3. 제어의 역전
보통은 프로그래머의 코드가 라이브러리를 가져다 쓰지만 프레임워크는 사용자의 코드를 불러다가 검사한다. 프레임워크에게 제어권한을 넘기게 되면 편리한 점 중 하나가 코드에서 신경써야할 부분이 줄어드는 것이다. 이걸 전략으로 쓰기도 하는 모양이다...
4. 프레임워크는 어떻게 내 코드를 호출할까?
프레임워크를 아직 안 써봐서 잘 모르겠지만... 사용자가 작성한 코드들을 프레임워크에 등록시키거나 구현이나 상속을 통해 프레임워크에 넘겨주는 방식으로 호출한다고 한다.
5. 마무리
프레임워크는 정해져있는 문법, 규칙, 목적 등이 있다보니 사용자에게 맞지 않거나 편리한 프레임워크가 있을 수도 있다. 프레임워크 속의 라이브러리를 뜯어고쳐서 프로그래머의 입맛에 맞게 고쳐쓸 수도 있고!
여하튼 프레임워크와 라이브러리는 어렵게 말하면 누구에게 제어권이 있느냐로 구분할 수 있고, 쉽게 말하면 프레임워크는 정해진 뼈대위에서 작업하는 트레이싱 같은 거고... 라이브러리는 사용자가 쓰는 브러쉬같은 거다! 끝
'Computer Science' 카테고리의 다른 글
[복습] OTT 서비스가 웹에서 재생되는 방법 (0) | 2023.05.06 |
---|---|
[CSS] fixed 와 sticky (0) | 2022.06.02 |
[용어정리] 정적 타입 언어 / 동적 타입 언어 (0) | 2022.05.23 |
[용어 정리] 비동기처리 (0) | 2022.04.21 |
[용어정리, 실습] JSON이 뭘까 (0) | 2022.04.10 |