클래스 모델링 연습

Programming 2010. 8. 25. 17:22 Posted by 알 수 없는 사용자


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

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

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

2. 적어 놓은 요소들 중에는 동사와 명사가 있습니다. 명사는 클래스가 되고, 동사는 메서드가 되는 것입니다.

클래스(명사) : 사람, 공격수, 골키퍼, 축구공, 전반전, 팀, 선수, 수비수, 심판, 경기시간, 후반전
메서드(동사) : 슛, 패스, 펀칭, 태클

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



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




처음 단순하게 늘어 놓았던 단어들이 한 단계, 한 단계 정리 되면서 제법 폼 있는 설계도가 완성 되었습니다. 클래스 모델링이라고 해서 절대 대단한 것이 있는 것이 아닙니다. 누구나 쉽게 설계하고 모델링 할 수 있습니다.

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

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


<참고 사이트>
[1] http://www.hoons.kr

AND