C# :: For Beginners

[C#] 클래스 모델링이란 무엇일까?

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

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

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

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

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

3. 다음은 Class 안의 Method 를 정리합니다.

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

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

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


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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: