프레임워크(Framework, 뼈대)
프로그램의 동작 순서를 정의하는 것
기본적으로 입력 - 처리 - 출력 순서를 반복하며 사용자가 종료라는 요청을 보내기 전까지 무한 반복한다
main()에 모든것을 작성하지 않는것은 관리 단위가 너무 커지기 때문이다
코드를 분석할 때 살펴야 할게 너무 많아지면(ex. 분기문도 많아지고 if안에 if 안에 if , if...등) 현재 어떤 상황인지 파악이 어려워진다
그래서 모듈화 라는것을 하는데
모듈화(Modulation)
레고 블럭을 조립해서 하나의 결과물을 만드는 것처럼 사람이 구분 할 수 있는 단위나 시스템 단위로 구분하기도 하고 더 잘게 함수 단위로 나눠 분석하는것
C언어는 절차지향 프로그래밍(Procedural programming)이며
Procedure = Function = Subroutine 함수라는 단위로 프로그램을 구성한다
하지만 한계가 있었기 때문에
객체지향 프로그래밍(Object - oriented programming) 으로 발전되었다
이는 객체라는 단위로 프로그램을 구성하며 객체는 데이터가 저장되는 영역을 뜻한다(=변수)
현업에 가면 현재보다 더 복잡한 프레임워크를 사용하게 되는데 이를 어떻게 분석해야하는가? 파악해야하는가?
1) Top-down 방식 : 위에서부터 아래로 점차 파악하는 방식
2) Bottom-up 방식 : 아래부터 위로 점차 파악하는 방식
Bottom-up은 모듈부터 시작해서 실제 동작부터 파악한 후 프로그램의 진행방식을 분석해나가는 것
Top-down은 프로그램의 실행 흐름부터 파악하기 시작해서 모듈까지 내려가며 프로그램의 동작을 분석하는 것, 가장 위의 main함수부터 시작한다 -> 추천
문법을 다 알고있다고 가정할 때 Framework의 파악이 어려운 이유는 모듈화로 단위를 작게작게 나눠놨기 때문에 전체적인 흐름을 파악하기 어려운 경우가 있다
그렇기 때문에 메모를해나가면서 텍스트 또는 그림으로 도식화 해야한다
'메타버스 1기' 카테고리의 다른 글
1장 컴퓨터 내부의 언어 체계 (0) | 2022.05.24 |
---|---|
게임 실행 루프, 백 버퍼 만들기 (0) | 2022.05.24 |
5/6 함수 호출 규칙, 빌드 (0) | 2022.05.06 |
4/26 반복문과 배열 배열 배열! (0) | 2022.04.27 |
4/25 C언어 기본 개념, 객체, 분기문(조건문) (0) | 2022.04.25 |