이번에는 우리가 가지고 있는 객체와 클래스의 기초 지식을 바탕으로 가상 모델링 해보도록 하겠습니다. 가상 모델링으로 구축 할 시스템은 바로 가상 축구 게임 입니다. 이제부터 클래스를 정의하고 동작(메서드)을 정의하는 요령을 익혀 보도록 합시다.

1. 일단 게임에 필요한 대상이나 동작 같은 요소들을 모두 적습니다.

사람, 공격수, 슛, 패스, 골키퍼, 펀칭, 태클, 축구공, 전반전, 팀, 선수, 수비수, 심판, 파울, 경기시간, 후반전 등등

2. 적어 놓은 요소들 중에는 동사와 명사가 있습니다. 명사는 바로 클래스가 되는 것이고 동사는 바로 메서드가 되는 것입니다. 이제 클래스와 메서드를 구분해 봅시다.

클래스(명사) - 사람, 공격수, 골키퍼, 축구공, 전반전, 팀, 선수, 수비수, 심판, 경기시간, 후반전 등등

메서드(동사) - 슛, 패스, 펀칭, 태클 등등

3. 다음은 클래스 안의 메서드를 정리 합니다.

4. 설계 된 클래스들의 연관을 살펴 보고, 상속과 추상 or 다형성의 개념을 도입합니다. 이번 단계는 앞서 우리가 공부한 객체 지향의 설계 방법을 활용할 수 있는 단계입니다.


처음 단순하게 늘어 놓았던 단어들이 한 단계, 한 단계 정리 되면서 제법 폼 있는 설계도가 완성 되었습니다. 클래스 모델링이라고 해서 절대 대단한 것이 있는 것이 아닙니다. 누구나 쉽게 설계하고 모델링 할 수 있습니다. 지금 언급한 4가지 단계는 필자의 필살기적 노하우를 정리 해 본 것입니다. 반드시 기억해 두시기 바랍니다.

우리가 게임이든 어떤 소프트웨어든 프로그래밍 하기 전에 가장 먼저 해야 할 중요한 작업이 클래스 모델링의 과정입니다. 체계적인 뼈대를 갖추고 프로그래밍을 하는 것과 뼈대를 세워 가면서 프로그래밍을 하는 것은 확연히 차이가 나게 됩니다.

앞서 말했듯이 객체 지향적 사고는 한번에 자신의 머리 속에 정착 되는 것은 아닙니다. 반드시 직접 설계해보고 토론해보고 또 생각해보는 반복적인 노력을 하시길 바랍니다. 그럼 어느새 내가 만든 프로그램은 뼈대가 생기게 될 것이고 더욱더 논리적인 프로그램을 만들 수 있을 것입니다.

작성자 : HOONS(박경훈)
이메일 : tajopkh@hanmail.net
홈페이지 : http://www.hoonsbara.com

Posted by 나비:D
:
BLOG main image
by 나비:D

공지사항

카테고리

분류 전체보기 (278)
Programming? (0)
---------------------------.. (0)
나비의삽질 (5)
Application (177)
SQL (51)
Web (27)
etc. (14)
Omnia (0)
---------------------------.. (0)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

달력

«   2024/04   »
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 30
Total :
Today : Yesterday :