이번 실습에서는 유즈케이스 별로 시퀀스 다이어그램 설계하고 구현하는 것을 반복할 것입니다. 먼저 이제까지 작업한 것을 구현하고 유즈케이스 별로 시퀀스 다이어그램 작성 맟 구현으로 들어갈게요.
EhNara의 뼈대를 만들고 난 후에 기본적인 사용자와 상호 작용의 프로토 타이핑을 할게요.
프로젝트에 Program.cpp 파일과 EhNara 클래스를 추가하세요. EhNara 형식 개체는 프로그램에 유일하며 대부분의 콘솔 응용 프로그램은 프로그램 초기화, 사용자와 상호 작용, 해제화 순으로 진행합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
class EhNara { 단일체를 표현하기 위해 생성자와 소멸자의 접근 지정은 private으로 설정합니다. 대신 유일한 단일개체를 정적 멤버로 선언할게요. static EhNara app;//단일체 public: 유일한 단일 개체를 가동하기 위한 정적 메서드를 추가하세요. static void Start();//응용 시작 - 진입점에서 호출하는 정적 메서드 private: EhNara(void); ~EhNara(void); 뼈대에 해당하는 초기화, 사용자와 상호 작용, 해제화 부분을 담당할 멤버 메서드를 추가하세요. void Initailize(); //초기화 void Run(); //사용자와 상호 작용 void Exit(); //해제화 }; |
Program.cpp 파일의 진입점 main은 다음처럼 간단합니다.
1 2 3 4 5 6 |
#include "EhNara.h" int main() { EhNara::Start(); return 0; } |
EhNara.cpp 에는 정적 멤버 필드인 단일체를 선언해야겠죠.
1 |
EhNara EhNara::app;//단일체 |
정적 메서드 Start에서는 단일체 app의 초기화, 사용자와 상호 작용, 해제화 메서드를 호출합니다.
1 2 3 4 5 6 |
void EhNara::Start()//응용 시작 - 진입점에서 호출하는 정적 메서드 { app.Initialize(); app.Run(); app.Exit(); } |
생성자와 소멸자는 특별하게 처리할 작업이 없으니 빈 상태로 나둘게요.
1 2 3 4 5 6 |
EhNara::EhNara(void) { } EhNara::~EhNara(void) { } |
초기화와 사용자와 상호 작용, 해제화 메서드도 단순히 무엇을 수행하는지 출력하는 구문만 작성합시다.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
void EhNara::Initialize() { cout<<"초기화"<<endl; } void EhNara::Run() { cout<<"사용자와 상호 작용"<<endl; } void EhNara::Exit() { cout<<"해제화"<<endl; } |
현재까지 EhNara 클래스의 뼈대를 만든 코드는 다음과 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
//EhNara.h #pragma once #include <iostream> #include <string> using namespace std; class EhNara { static EhNara app;//단일체 public: static void Start();//응용 시작 - 진입점에서 호출하는 정적 메서드 private: EhNara(void); ~EhNara(void); void Initialize(); //초기화 void Run(); //사용자와 상호 작용 void Exit(); //해제화 }; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
//EhNara.cpp #include "EhNara.h" EhNara EhNara::app;//단일체 void EhNara::Start()//응용 시작 - 진입점에서 호출하는 정적 메서드 { app.Initialize(); app.Run(); app.Exit(); } EhNara::EhNara(void) { } EhNara::~EhNara(void) { } void EhNara::Initialize() { cout<<"초기화"<<endl; } void EhNara::Run() { cout<<"사용자와 상호 작용"<<endl; } void EhNara::Exit() //해제화 { cout<<"해제화"<<endl; } |
1 2 3 4 5 6 7 |
//Program.cpp #include "EhNara.h" int main() { EhNara::Start(); return 0; } |
▷ 실행 결과
1 2 3 |
초기화 사용자와 상호 작용 해제화 |
[C++ 무료 동영상 강의] 71. 최종실습 – EHNARA 뼈대
학습에 도움이 되시면 ebook을 구입(판매가 5000원, ebook)하여 소장하시면 감사하겠습니다.