개발자들과 함께 이야기하다 보면 듣게 되는 단어 프레임 워크입니다.
'이건 프레임이 ~ 블라블라' 라는 내용을 듣게 되는데요.
프레임이 뭔지를 모르다보니 사실 뒤에 내용 역시 이해하기 쉽지 않습니다.
무슨 틀(?) 안에서 일하는 것 같긴 한데 뭘까요?
Q. 프레임 워크란 뭔가요?
어플리케이션 프레임워크라고 불리며 간단하게 프레임 워크라고도 불립니다.
특정 운영 체제를 위한 응용 프로그램 표준 구조를 구현하는 클래스와 라이브러리의 모임
- 출처: 위키백과
사전적인 정의는 그런데 사실 읽어도 잘... 이해가 되지 않습니다.
무슨 소리냐 말 그대로 프레임(틀, 규칙, 법칙)에다가 워크(일, 소프트웨어의 목적)를 더한 것입니다.
즉, 어떠한 목적에 따라서 효율적으로 일하기 위해서 구조를 짜놓은 개발방식이라는 것입니다.
개발자가 소프트웨어의 어떤 부분을 설계할 때 쉽게 재사용할 수 있게끔 해두는 것이죠.
공통적인 어떤 기능이 있다고 하면 그 기능을 넣어줄 때마다 새롭게 코드를 만드는 것보다 한 번 만들어 놓은걸 가져다쓰는 것이 편하겠죠?
마치 공장에서 그릇을 만들 때 한 개 한 개 수작업하기에 너무 오래 걸리니 프레임을 만들어서 찍어 낼 수 있게 만든 것처럼 자주 사용하는 어떤 걸 만들어놓았다고 생각하시면 편할 겁니다.
Q. 그럼 고정틀이 있고 찍어낸 다면 변경이 불가능하고 만든 거 그대로 써야한다라는 의미인가요?
전체적인 틀은 바꾸기 힘들겠지만 프로그램 코드는 프로그래머(개발자)의 능력과 의사에 따라서 바꿀 수 있습니다. 어떻게 구조를 하느냐 어떻게 코드를 입력하느냐에 따라서 조금 달라지는 거죠. 공장 생산라인에 원료를 넣으면 다른 물체가 나오는 것으로 이해하시면 편합니다.
Q. 그러면 다 만들 수 있는 거 아닌가?
원료를 바꿔서 다른 걸 만들어내는 것은 가능한 이야기지만 공장 생산라인을 바꾸는 것은 쉽지 않습니다.
공장 생산라인을 그대로 유지한 채 원료나 안에 세부 틀만 바꿔서 다른 용품을 찍어냅니다.
프로그래머(개발자)들 역시 마찬가지입니다. 프레임 워크 안에서 약간 수정은 가능할지 모르겠으나 프레임 워크 자체를 바꾸기는 쉽지 않습니다.
이처럼 프로그래머(개발자)에게 있어야할 제어의 권한을 프레임 워크가 가지고 있는 것을 제어의 역전이라고 합니다.
'소년의 IT 쉽게 이해하기 > 개발 쉽게 이해하기' 카테고리의 다른 글
소프트웨어 아키텍처(Software Architecture) 쉽게 이야기하기 (0) | 2022.02.08 |
---|---|
좋은 프로그램이란 뭔가요? (0) | 2021.12.30 |
인터프리터(Interpreter)와 컴파일(Compile) 쉽게 이야기하기 (0) | 2021.12.24 |
라이브러리(Library) 쉽게 이야기하기 (0) | 2021.12.09 |
DB 쉽게 이야기하기 (1) | 2021.12.02 |
댓글