IT 지식/아는 게 있어야 이해하지

프레임워크란 (Framework란)

계발과개발의갭알자 2021. 1. 9. 21:06

한 줄 요약 : 프레임워크는 목적에 따라 효율적으로 개발하기 위한 방식입니다.


대학교 재학 때는 보통 선배들이 하는 얘기를 듣는 중에 그리고 취업을 준비하는 과정에서 프레임워크라는 키워드를 많이 접하게 되는 것 같습니다.

물론 학과 전공 커리큘럼 상 과목으로 하나 편성되어 있어서 웹 프로그래밍 중에 접하게 되면 좋겠지만 제가 학부생으로 재학하던 당시에는 전공 과정에서 접하기는 어려웠고 추가적으로 배우는 기회를 갖기 위해서는 외부 기관에서 교육을 받아야했습니다.


프레임워크란? Framework가 뭐야?

비개발자나 학부 재학생일 경우 프레임워크라는 단어가 생소할 것입니다. 위키백과에서 정의하는 애플리케이션 프레임워크는 아래와 같습니다.

 

애플리케이션 프레임워크(Application Framework)
: 소프트웨어 개발자 응용 소프트웨어의 표준 구조를 구현하기 위해 사용하는 소프트웨어 프레임워크로 구성된다.[2] 즉, 프로그래밍에서 특정 운영 체제를 위한 응용 프로그램 표준 구조를 구현하는 클래스 라이브러리 모임이다. 간단하게 프레임워크라고도 부른다. - 위키백과

 

명확한 표현이지만 직관적이지는 않을 것 같습니다. 프레임워크 : Frame + Work (정해진 틀/뼈대/규칙 + 일)위키백과의 표현을 보다 직관적으로 표현을 다시 하자면 '특정 운영체제에서 프로그램을 구현하는 정해진 규칙과 일'정도가 되겠습니다.

미니언 나노블럭

적합한 비유일지는 모르겠지만

나노블럭 : 프로그래밍 언어
도안 : 프레임워크
만들고자하는 것 : 미니언

 

미니언 나노블럭을 샀다고 합시다. 재료가 되는 나노블럭들을 갖고 미니언 모양으로 만들어내기 위해서는 도안을 보고 만들게 됩니다. 같은 재료를 갖고도 배치나 쌓는 순서 그리고 연결하는 거에 따라 모양이 다르게 형성됩니다.

미니언을 쉽게 만들 수 있게 도안이 준비되어 있으면 그대로 따라 만들면 됩니다. 여기서 미니언을 쉽게 만들 수 있게 해주는 도안이 프레임워크입니다.

그런데 A 도안은 미니언 신체 부위별로 모양을 만든 후에 이어 붙여서 완성하는 방식입니다.

B 도안은 발바닥부터 쌓아 올리며 모자까지 완성하는 방식입니다.  같은 일을 두고도 A 프레임워크와 B 프레임워크 이렇게 다른 프레임워크가 존재하는 이유입니다.

또한, 나노블럭을 제작하는 공장 K사와 Z사가 있습니다. 각 공장에서 나노블럭을 제작하는데 K사의 나노블럭은 A 도안과 B도안 중 아무거나 보고 따라해도 미니언을 만들 수 있지만 Z사의 나노블럭은 C 도안만 이용해야 할 수  있습니다.

 

미니언을 만들어내는 방법은 여러가지 있겠지만, 시간/행위를 효율적으로 만들기 위해 도안이 있듯이

프레임워크는 목적에 따라 효율적으로 개발하기 위한 방식입니다.