MFC 정의

wsung·2026년 1월 21일

MFC란?

  • 마이크로소프트에서 만든 C++ 기반 클래스 라이브러리
  • Win32 API를 직접 쓰는 것보다 GUI프로그램 개발을 훨쒼 쉽게 해줌

MFC장점

  1. GUI기반 윈도우 앱 개발이 간편
  2. Win32 API를 직접 다루는 수고 감소
  3. ActiveX, OLE등 다양한 기능 기본 제공

MFC구조

  • MFC 애플리케이션에서는 아래처럼 핵심 클래스들이 유기적으로 동작해 윈도우 화면을 구성함

주요클래스

  1. CFrameWnd
    • 프로그램 창의 프레임 담당
    • 메뉴, 툴바, 상태바 포함
  2. CView
    • 화면의 실제 출력 및 렌더링 담당
    • 문자나 그래픽 그리는 역할
  3. CDocument
    • 데이터 저장/읽기
    • 파일 IO등 논리적인 부분 처리

MFC 계층구조

  • 기본적으로 여러 클래스가 상속 구조로 연결
    ex)
CObject
	ㄴCCmdTarget
    	ㄴCFrameWnd ------// 창 / 프레임
        ㄴCDialog---------// 대화상자
        ㄴCView----------// 출력/렌더링
        ㄴ기타 윈도우 클래스

CObject : MFC 최상위 클래스
CCmdTarget : 이벤트 처리의 토대
CWnd: 실제 윈도우 기반 클래스
CFrameWnd, CDialog, CView: 앱 기능별 세부 클래스

각 클래스가 하는 일 정리

CObject: MFC 객체의 공통 기능 제공
CCmdTarget: 메시지(이벤트) 처리를 담당
CWnd: 화면에 보이는 윈도우 객체 역할
CFrameWnd: 프로그램의 기본 프레임/창 구성
CView: 실제 화면 내용 출력
CDocument: 데이터 저장/불러오기

=> MFC 프로그램은 윈도우 창을 띄우고 -> 이벤트 처리하고 -> 화면 출력하고 -> 데이터 저장/로드하는 과정이 클래스 역할로 분리되어 구조화 되어있음

요약

  1. MFC는 윈도우 GUI앱 개발을 쉽게 도와주는 C++ 클래스 라이브러리
  2. 프로그램 구성은 Frame -> View -> Document 같은 계층 구조로 이루어짐
  3. 각 클래스는 역할이 명확히 분리되어 유지보수/ 확장이 쉬움
profile
0부터 시작하는 백엔드

0개의 댓글