MFC란?
Microsoft Foundation Class
마이크로 소프트에서 만든 클래스
MFC의 배경
윈도우 프로그래밍은 기본적으로 수많은 API가 사용된다. 이는 다양한 기능을 제공하지만 실제로 코딩을 하는 사람들에게 너무나도 복잡하고 많은 라이브러리로 개발자의 혼란을 불러 일으켰다.
따라서 마이크로소프트에서는 1990년 윈도우 API 함수를 캐슐화하여 라이브러리를 만들었고, 이후 이것은 MFC로 발전되었다.
따라서 MFC는 마이크로소프트에서 API 함수를 각 기능별로 클래스화한 형태로 만든 것이라 할 수 있으며 현재 MFC 라이브러리는 Visual C++에 기본적으로 포함되어 제공된다.
MFC 계층도
MFC의 계층 구조를 간단하게 살펴보면 크게 CObject와 CObject에서 파생되지 않은 클래스로 나뉜다.
응용 프로그램 아키텍쳐 클래스는 윈도우 응용 프로그램의 가장 기본적인 구조를 제공하는 클래스로 MFC는 기본적으로 전체 프레임 구성을 위한 근간을 이루는 클래스가 제공되고, CCmdTarget으로부터 파생된 CWinApp 클래스가 그 기능을 수행한다.
사용자 인터페이스를 제공하는 모든 윈도우 관련 클래스는 CWnd에서 정의되는데 하단의 CWnd 클래스는 부모와 이름이 같은 파생 클래스로서 응용 프로그램의 주 골격을 만들어주는 CFrameWnd 클래스, 대화 상자인 CDialog 클래스, 사용자 영역을 담당하는 CView 클래스 그리고 윈도우가 제공하는 각종 컨트롤 등이 있다.
일반 클래스는 응용 프로그램 아키텍쳐와 윈도우 관련 클래스를 제외한 나머지 클래스를 의미하는데 윈도우 형태에는 영향을 미치지 않는 기능적인 담당을 하는 클래스를 의미한다.
자세한 사항은 MSDN 사이트를 참고하세요(아래)
https://msdn.microsoft.com/ko-kr/library/ws8s10w4.aspx
'Language > C++' 카테고리의 다른 글
윈도우 프로그래밍 - DLL에서 데이터를 전달하는 방법 (Notify) (0) | 2020.05.06 |
---|---|
윈도우 프로그래밍 - 쓰레드 기반 동기화 예제 (0) | 2020.02.17 |
C++ Reference and friend (0) | 2018.12.28 |
C++ 더블 포인터 정리 (0) | 2018.12.27 |
지역변수, static, extern 정리 (0) | 2018.12.27 |