9์ฅ ๋ถ์ฐ ์๋ฒ ๊ตฌ์กฐ
5. ๋ฐ์ดํฐ ๋ถ์ฐ (์ํ ๋ถ์ฐ) vs ๊ธฐ๋ฅ์ ๋ถ์ฐ (์์ง ๋ถ์ฐ)
๋ฐ์ดํฐ ๋ถ์ฐ์ด๋ ํ ๋จธ์ ์ด ์ฒ๋ฆฌํด์ผ ํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ์ญํ ์ ํ๋ ์ฌ๋ฌ ๋จธ์ ์ด ๋๋์ด ์ฒ๋ฆฌํ๋ ๊ฒ์ด๋ค.
์ฆ, ๊ฐ ์๋ฒ๋ ๋ชจ๋ ๋๊ฐ์ ์ข ๋ฅ์ ์ผ์ ํ๋ค.
๊ธฐ๋ฅ์ ๋ถ์ฐ์ ํ ๋จธ์ ์ด ์ฒ๋ฆฌํด์ผ ํ๋ ๋ฐ์ดํฐ์ ์ฒ๋ฆฌ ๋จ๊ณ๋ฅผ ์ธ๋ถํํด์ ์ฌ๋ฌ ๋จธ์ ์ด ๋๋์ด ์ฒ๋ฆฌํ๋ ๊ฒ์ด๋ค.
์ด๋ฌํ ๋ถ์ฐ ์ฒ๋ฆฌ ์๋ฆฌ๋ ๊ฒ์ ์๋ฒ๋ฟ๋ง ์๋๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ๋น์ทํ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ ๋จ์ ๋ถ์ฐ(์ํ ํํฐ์ ๋)์ด๋ ํ ์ด๋ธ 1๊ฐ๋ฅผ ํ ์ด๋ธ ์์ ํค ํ๋ ๋จ์๋ก ๋ถ๋ฐฐํ๋ ๊ฒ์ ์๋ฏธํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธฐ๋ฅ ๋จ์ ๋ถ์ฐ(์์ง ํํฐ์ ๋)์ด๋ ์๋ก ๋ค๋ฅธ ํ ์ด๋ธ์ ์๋ก ๋ค๋ฅธ ์๋ฒ์ ๋ฐฐ์นํ๋ ๊ฒ์ ์๋ฏธํ๋ค. ๊ฒ์ ์๋ฒ๊ฐ ๋ถ์ฐ ์ฒ๋ฆฌ๋์ด ์๋ค๊ณ ํ๋๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ถ์ฐ ์ฒ๋ฆฌํ์ง ์์ผ๋ฉด ๊ฒฐ๊ตญ ์๋น์ค ๊ฐ์ฉ์ฑ์ ๋จ์ด์ง๋ค.
6. ๋ก์ง ์ฒ๋ฆฌ์ ๋ถ์ฐ ๋ฐฉ์๋ค
์ด๋ค ๋ก์ง์ด ์์ผ๋ฉด ๋๋๋ก ์๋ก ๋ค๋ฅธ ๋จธ์ ๊ฐ์ ๋ถ์ฐ ์ฒ๋ฆฌ๋ฅผ ํ ์ผ์ด ์๊ฒ ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข๋ค. ๊ทธ๋ฌ๋ ์ด์ฉ ์ ์์ด ๋ก์ง ์ฒ๋ฆฌ๋ฅผ ๋ถ์ฐ ์ฒ๋ฆฌํด์ผ ํ๋ค๋ฉด ์ธ ๊ฐ์ง ๋ฐฉ์ ์ค ์ํฉ์ ๋ฐ๋ผ ํ๋๋ฅผ ์ ํํด์ผ ํ๋ค.
- ๋๊ธฐ ๋ถ์ฐ ์ฒ๋ฆฌ
- ๋น๋๊ธฐ ๋ถ์ฐ ์ฒ๋ฆฌ
- ๋ฐ์ดํฐ ๋ณต์ ๋ฐ ๋ก์ปฌ ์ฒ๋ฆฌ
๋ถ์ฐ ์ฒ๋ฆฌํ ์ํธ ์์ฉ ์๋๋ฆฌ์ค๋ ๋ชฌ์คํฐ ์ฌ๋ฅ์ด๋ค.
- ํ๋ ์ด์ด๊ฐ ๊ฐ์ง ์ด์ 1๊ฐ๋ฅผ ์๋ชจํ๋ค.
- ๋ชฌ์คํฐ์ ์ฒด๋ ฅ์ ๊น๋๋ค.
- ๋ชฌ์คํฐ์ ์ฒด๋ ฅ์ด ๋ฐ๋ฅ๋๋ค.
- ๋ชฌ์คํฐ๊ฐ ์ฌ๋งํ๋ค. (10์ด ํ ์๋ฉธ)
- ํ๋ ์ด์ด๋ ์์ดํ ์ ํ๋ํ๋ค.
Player_Attack(player, monster)
{
player.bullet--;
monster.hitPoint -= 10;
if (monster.hitPoint < 0)
{
player.item.Add(gold, 30);
DeleteEntity(monster, 10sec);
}
}
๋ชฌ์คํฐ ์ฌ๋ฅ ๋ก์ง์ ์์ง ๋ถ์ฐ ์ฒ๋ฆฌ๋์ง ์์์ผ๋ฏ๋ก ์๋ฒ 1๊ฐ์์๋ง ์ด ๋ก์ง์ด ์คํ๋ ๊ฒ์ด๋ค. ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์๋ฒ 1์์๋ง ์คํ๋๊ธฐ ๋๋ฌธ์ ํ๋ ์ด์ด ์บ๋ฆญํฐ ์ ๋ณด์ ๋ชฌ์คํฐ ์บ๋ฆญํฐ ์ ๋ณด๋ ์๋ฒ 1์์ ๊ฐ์ง๊ณ ์๋ค. ์ด์ ์ด ์ฒ๋ฆฌ๋ฅผ ๋ถ์ฐํ๋ ๋ฐฉ๋ฒ์ ๊ฐ๊ฐ ์์๋๋ก ์ดํด๋ณด์.
1) ๋๊ธฐ ๋ถ์ฐ ์ฒ๋ฆฌ
๋๊ธฐ ๋ถ์ฐ ์ฒ๋ฆฌ์์๋ ์ด๋ค ์ฐ์ฐ์ ๋ค๋ฅธ ์๋ฒ์ ๋์ ธ ๋๊ณ ๊ทธ ๊ฒฐ๊ณผ๊ฐ ์ฌ ๋๊น์ง ๋๊ธฐํ๋ค. ๋๊ธฐํ ๋ฟ๋ง ์๋๋ผ ๊ทธ ์ฐ์ฐ๊ณผ ๊ด๊ณ๋ ๋ฐ์ดํฐ๊ฐ ๋์ค์ ๋ณ๊ฒฝ๋์ง ์๊ฒ ์ ๊ธ์ ํด์ผ ํ๋ค.
๋๊ธฐ์ ๋ช ๋ น ์ฒ๋ฆฌ๋ฒ
- ์๋ฒ 1์์๋ ํ๋ ์ด์ด ์บ๋ฆญํฐ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๊ณ ์๋ฒ 2์์๋ ๋ชฌ์คํฐ ์บ๋ฆญํฐ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- ํ๋ ์ด์ด ์บ๋ฆญํฐ๊ฐ ๋ชฌ์คํฐ๋ฅผ ๋๋ฆฌ๋ฉด ๋ชฌ์คํฐ ์ฌ๋ฅ ๋ก์ง์ ํ๋ ์ด์ด ์บ๋ฆญํฐ ์ ๋ณด๋ฅผ ์ ๊ทธ๋ ๊ฒ๋ถํฐ ์ํํ๋ค.
- ํ๋ ์ด์ด ์บ๋ฆญํฐ ์ ๋ณด๋ฅผ ์ ๋ฐ์ดํธํ๋ค.
- ๋ชฌ์คํฐ ์บ๋ฆญํฐ ์๋ฒ์ ๋ชฌ์คํฐ์๊ฒ ๋๋ฏธ์ง๋ฅผ ์ฃผ๋ผ๋ ๋ช ๋ น์ ์ ์กํ๋ค.
- ๋ช ๋ น์ ์ ์กํ ํ ์๋ฒ 1์ ์๋ฒ 2์ ์๋ต์ด ์ฌ ๋๊น์ง ๊ธฐ๋ค๋ฆฐ๋ค.
- ํํธ ๋ชฌ์คํฐ ์ ๋ณด๋ฅผ ๊ฐ์ง ์๋ฒ 2์์๋ ์ด ๋ช ๋ น์ ๋ฐ์ ๋ชฌ์คํฐ ์ ๋ณด๋ฅผ ์ ๋ฐ์ดํธํ๋ค.
- ์ ๋ฐ์ดํธ ๊ฒฐ๊ณผ๋ฅผ ์๋ฒ 1์ ์๋ ค์ค๋ค.
- ์๋ฒ 1์ ์ด ์๋ต์ ๋ฐ์ผ๋ฉด ๊ธฐ๋ค๋ฆผ์ ๋ฉ์ถ๊ณ ๋๋จธ์ง ์ฒ๋ฆฌ๋ฅผ ํ๋ค.
Player_Attack(player, monster)
{
lock(player)
{
player.bullet--;
e = otherServer.DamageCharacter(
player.id, monster.id, 10);
waitForResult(e);
if (e.hitPoint < 0)
{
player.item.Add(gold, 30);
}
}
DamageCharacter(attacker, character, damage)
{
character.hitPoint -= damage;
result.hitPoint = character.hitPoint;
Reply(result);
}
}
๋ค๋ฅธ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ๋ ์๋ค. ์ผ๊ด์ฑ์ ์งํค๋ฉด์ ๋ค๋ฅธ ์๋ฒ์ ์๋ ๋ฐ์ดํฐ์ ์ก์ธ์ค ํ๋ ๋ฐฉ์์ด๋ค. ์ด ๊ณผ์ ์์๋ ๋ถ์ฐ ๋ฝ ๊ธฐ๋ฒ์ด ๋๋ฐ๋๋ค.
๋๊ธฐ์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ๋ฒ
- ๋ชฌ์คํฐ ์ ๋ณด๋ฅผ ๊ฐ์ง ์๋ฒ 2์ ๋ชฌ์คํฐ ์ ๋ณด๋ฅผ ์ก์ธ์ค ํ๊ธฐ ์ํด ๋ถ์ฐ ๋ฝ์ ๊ฑธ๊ฒ ๋ค๋ ์์ฒญ์ ํ๊ณ ์๋ต์ ๋ฐ๋๋ค.
- ์๋ฒ 2์์ ๋ชฌ์คํฐ ์ ๋ณด๋ฅผ ์ป์ด ์ค๊ณ ์ ๋ฐ์ดํธํ๋ค.
- ์๋ฒ 2์ ๋ถ์ฐ ๋ฝ ํด์ ๋ฅผ ์์ฒญํ๊ณ ์๋ต์ ๋ฐ๋๋ค.
Player_Attack(player, monster)
{
lock(player)
{
player.bullet--;
otherServer.RemoteLock(monster);
m = otherServer.RemoteGet(monster.id);
m.hitPoint -= damage;
if (m.hitPoint < 0)
{
player.item.Add(gold, 30);
otherServer.RemoteDelete(monster.id);
}
else
{
otherServer.RemoteSet(m);
}
otherServer.RemoteUnlock(m);
}
}
๋๊ธฐ ๋ถ์ฐ ์ฒ๋ฆฌ ๋ฐฉ์์๋ ๋ฌธ์ ๊ฐ ์๋ค. ์๋ฒ 1์์๋ ์๋ฒ 2์ ๋ช ๋ น์ ๋ณด๋ธ ํ ์ด์ ๋ํ ์๋ต์ด ์ฌ ๋๊น์ง ๋๊ธฐํด์ผ ํ๋ค. ์๋ฒ 1๊ณผ ์๋ฒ 2 ์ฌ์ด์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ 20 ๋ง์ดํฌ๋ก์ด๋ผ๊ณ ๊ฐ์ ํด๋ณด์. ๋๊ธฐ์ ๋ช ๋ น ์ฒ๋ฆฌ๋ฒ์ ์ฌ์ฉํ๋ฉด ์๋ฒ 1์์ ์ต์ 40 ๋ง์ดํฌ๋ก์ด๊ฐ ๊ฑธ๋ฆด ๊ฒ์ด๋ค. ๋๊ธฐ์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ๋ฒ์์๋ ๋ฉ์์ง ์๋ณต์ด ์ด 3๋ฒ์ด๋ฏ๋ก ์ต์ 120 ๋ง์ดํฌ๋ก์ด๊ฐ ๊ฑธ๋ฆฐ๋ค.
์ด๋ ์๋ฒ 1์์ ํ๋ ์ด์ด ์ ๋ณด๋ฅผ ๋ณดํธํ๋ ์๊ณ ์์ญ์ด๋ ๋ฎคํ ์ค๊ฐ ์ง๋์น๊ฒ ๊ด๋ฒ์ํ๋ฉด, ์๋ฒ 1์์ ์ฒ๋ฆฌํด์ผ ํ ๋ค๋ฅธ ์ผ์ด 40~120 ๋ง์ดํฌ๋ก์ด๋งํผ ์๊ฐ์ด ์ง์ฐ๋ ๊ฐ๋ฅ์ฑ์ด ๋์์ง๋ค. ์ด ๋ฌธ์ ๋ฅผ ๊ฐ์ ํ๋ ค๋ฉด ์๋ฒ 1์ ๋ฉํฐ ์ค๋ ๋ ํน์ ๋ฉํฐ ํ๋ก์ธ์ค๋ก ์๋ํ๊ฑฐ๋ ๋ฎคํ ์ค ์ ๊ธ ๋ฒ์๋ฅผ ์ขํ์ผ ํ๋ค.
์ด์ฒ๋ผ ๋ณ๋ ฌ ์ฒ๋ฆฌํ ์ ์๋ ์ฅ์น์์ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํ์ง ๋ชปํ๋ ์๊ฐ์ ๋น๋กํ์ฌ ๋ณ๋ ฌ ํจ๊ณผ๊ฐ ๊ธ๊ฐํ๋ ํ์์ ์๋ฌ์ ๋ฒ์น์ด๋ผ ํ๋ค. ๋ฐ๋ผ์ ๋๊ธฐ ๋ถ์ฐ ์ฒ๋ฆฌ์ ์๋ชป๋ ์ฌ์ฉ์ ๋ถ์ฐ ์๋ฒ์ ํจ๊ณผ๋ฅผ ๋จ์ด๋จ๋ฆด ์ ์๋ค.
2) ๋น๋๊ธฐ ๋ถ์ฐ ์ฒ๋ฆฌ
๋น๋๊ธฐ ๋ถ์ฐ ์ฒ๋ฆฌ์์๋ ์๋ฒ 1์ ์ด๋ค ์ฐ์ฐ ๋ช ๋ น์ ๋ค๋ฅธ ์๋ฒ 2์ ์ก์ ํ๊ณ ์๋ฒ 1์ ์๋ต ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ผ๋ฐฉ์ ์ผ๋ก ์๊ธฐ๊ฐ ํด์ผ ํ๋ ๋ค์ ์ผ์ ์์ํ๋ค.
- ์๋ฒ 1์์๋ ํ๋ ์ด์ด ์บ๋ฆญํฐ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๊ณ ์๋ฒ 2์์๋ ๋ชฌ์คํฐ ์บ๋ฆญํฐ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ค
- ์๋ฒ 1์ ์๋ฒ 2์ ๋ชฌ์คํฐ์ ๋๋ฏธ์ง๋ฅผ ์ฃผ์๋ค๊ณ ํต๋ณดํ๋ค.
- ์๋ฒ 2๋ ์๋ฒ 1์ ํ๋ ์ด์ด์๊ฒ ์์ดํ ์ ์ฃผ์๋ค๊ณ ํต๋ณดํ๋ค.
Player_Attack(player, monster)
{
player.bullet--;
otherServer.DamageCharacter(player.id, monster.id, 10);
}
DamageCharacter(callerServer, attacker, character, damage)
{
character.hitPoint -= damage;
if (character.hitPoint < 0)
{
callerServer.GiveItem(attacker.id, gold, 30);
DeleteEntity(character, 10sec);
}
}
GiveItem(character, item, amount)
{
character.item.Add(item, amount);
}
๋น๋๊ธฐ ๋ถ์ฐ ์ฒ๋ฆฌ ๋ฐฉ์์ ๊ฐ์ฅ ํฐ ์ฅ์ ์ ์ ๊ธ์ผ๋ก ์ธํ ๋ณ๋ชฉ์ด ์๋ค๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ๊ฐ ์๋ฒ๊ฐ ๊ฐ์ง ์ฑ๋ฅ์ ์ต๋ํ์ผ๋ก ํ์ฉํ ์ ์๋ค. ๊ทธ๋ฌ๋ ๋จ์ ์ ๋ชจ๋ ๋ก์ง์ ์ด ๋ฐฉ์์ผ๋ก ๊ตฌํํ๊ธฐ ์ด๋ ต๊ฑฐ๋ ๋ถ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ด๋ค. ์์ฒญ์ ๋ํ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๋ ๊ณผ์ ์ด ์๊ธฐ ๋๋ฌธ์ ๋ฐํ ๊ฐ์ ์ฃผ๊ณ ๋ฐ์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ ๋์ ์๋ก ์ผ๋ฐฉ์ ์ธ ํต๋ณด๋ฅผ ๋ ์ฃผ๊ณ ๋ฐ์์ผ ํ๋ค.
3) ๋ฐ์ดํฐ ๋ณต์ ์ ๊ธฐ๋ฐ์ ๋ ๋ก์ปฌ ์ฒ๋ฆฌ
๋ฐ์ดํฐ ๋ณต์ ์ ๊ธฐ๋ฐ์ ๋ ๋ก์ปฌ ์ฒ๋ฆฌ๋ ๋ถ์ฐ ์ฒ๋ฆฌ์ ๊ด์ฌํ๋ ๋ฐ์ดํฐ๋ค์ด ์๋ณธ ์๋ฒ์๋ง ์๋ ๊ฒ์ด ์๋ ๋ค๋ฅธ ์๋ฒ์ ๋ณต์ ๋ ์ํ๋ก๋ ์๋ ๊ฒ์ด๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๊ฒ์ ํ๋ ์ด๋ฅผ ์ํ ๋ก์ง ์ฒ๋ฆฌ๋ ๋ ์๋ฒ์ ๋ถ์ฐ๋์ง๋ง, ์ด๋ค ์ฒ๋ฆฌ๊ฐ ๋ค๋ฅธ ์๋ฒ์ ๋ง๋ฌผ๋ ค ๋์๊ฐ์ง ์๊ณ ๊ฐ ์๋ฒ๊ฐ ์์์ ์ฒ๋ฆฌํ๋ค.
- ํ๋ ์ด์ด๋ฅผ ๋ด๋นํ๋ ์๋ฒ 1์ ๋ชฌ์คํฐ๋ฅผ ๋ด๋นํ๋ ์๋ฒ 2์ ๋ชฌ์คํฐ ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์๋ค.
- ๋ง์ฐฌ๊ฐ์ง๋ก ์๋ฒ 2๋ ๋ชฌ์คํฐ๋ฟ๋ง ์๋๋ผ ํ๋ ์ด์ด ์ ๋ณด๋ ๊ฐ์ง๊ณ ์๋ค.
- ์๋ฒ 1๊ณผ ์๋ฒ 2๋ ์๊ธฐ๊ฐ ๊ฐ์ง ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ด ์ผ์ด๋๋ฉด, ๋ณ๊ฒฝ๋์๋ค๋ ์ฌ์ค์ ์๋๋ฐฉ์๊ฒ ์๋ ค์ค๋ค.
Player_Attack(player, monster)
{
player.bullet--;
monster.hitPoint -= 10;
if (monster.hitPoint < 0)
{
player.item.Add(gold, 30);
DeleteEntity(monster, 10sec);
}
}
์์ ์ดํด๋ณธ ๋ถ์ฐ ์ฒ๋ฆฌ์ ๊ณตํต๋ ๋ฌธ์ ๊ฐ ์๋ค.
๋ฐ๋ก ์ฐ๋ฆฌ๋ ๊ทธ์ ์์ผ์ ์ก์ ํจ์๋ฅผ ํธ์ถํ์ง๋ง ์ด์์ฒด์ ๋ ๋ง์ ์ผ์ ํ๋ค๋ ๊ฒ์ด๋ค. ๋ชฌ์คํฐ ์ฌ๋ฅ ๋ก์ง์ ๋น๊ต ์ฐ์ฐ, ์ฐ์ ์ฐ์ฐ, ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ ์ฝ๊ธฐ, ์ฐ๊ธฐ ์ฐ์ฐ ๋ช ๊ฐ๋ก ๊ตฌ์ฑ๋ ๊ฐ๋จํ ๋ก์ง์ด๋ค. ๊ทธ๋ฌ๋ ๋ถ์ฐ๋ ์๋ฒ ๊ฐ ๋ํ์ ์ฌ์ฉ๋๋ ์ฐ์ฐ์ ์ด ๋ก์ง์ ๋ช ๋ฐฐ, ๋ช ์ญ๋ฐฐ๊ฐ ๋ ์ ์๋ค. ์ด์ฒ๋ผ ๊ณผ๋ํ๊ฒ ์๋ฒ ๊ฐ ๋ถ์ฐ ์ฒ๋ฆฌ๋ฅผ ํ๋ฉด ์ธ๋ฐ์์ด ๋นํจ์จ์ ์ธ ์ํฉ์ด ๋ฐ์ํ ์ ์๋ค.
7. ๋ฐ์ดํฐ ์์ง๋
์ธ ๊ฐ์ง ๋ถ์ฐ ์ฒ๋ฆฌ ๋ฐฉ์ ๋ชจ๋ ์ฅ์ ๊ณผ ๋จ์ ์ด ์๋ค. ๋ฐ๋ผ์ ๋ถ์ฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ์ฅ ์ ๊ฒ ์ผ์ด๋๋ ๋ฐฉ๋ฒ์ ์ฐพ์ผ๋ฉด ์ข๋ค.
ํ ๋ฐฉ๋ฒ์ ์์ง๋๊ฐ ๋์ ๋ฐ์ดํฐ๋ผ๋ฆฌ๋ ๊ฐ๊ธ์ ๋ถ์ฐ ์ฒ๋ฆฌ๋ฅผ ํ์ง ์๊ณ ์์ง๋๊ฐ ๋ฎ์ ๋ฐ์ดํฐ์ ๋ํด ๋ถ์ฐ์ฒ๋ฆฌ๋ฅผ ํ๋ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์ ์์ง๋๋ ํน์ ์์ญ ์์ ์ผ๋ง๋ ๋ง์ ๋ฐ์ดํฐ๊ฐ ๊ด๋ จ๋๊ณ ๋ญ์ณ ์๋์ง๋ฅผ ์๋ฏธํ๋ค. ๋ค์ ๋งํด์ ์ด๋ค ๋ฐ์ดํฐ๊ฐ ์์ ๋ ๊ทธ ๋ฐ์ดํฐ์ ์์ฃผ ์๊ด๋๋ ๋ค๋ฅธ ๋ฐ์ดํฐ๊ฐ ์ผ๋ง๋ ๋ง์์ง๋ฅผ ์๋ฏธํ๋ค.
์๋ฅผ ๋ค์ด ํ๋ฉด์ผ๋ก ๊ตฌ์ฑ๋ ์๋๊ฐ ์์ ๋, ์ง๋ฆฌ์ ์์น๋ฅผ ์์ง๋ ๊ธฐ์ค์ผ๋ก ํ์ฌ ๊ฐ๊น์ด ๊ฑฐ๋ฆฌ์ ์๋ ์บ๋ฆญํฐ๋ผ๋ฆฌ๋ ๊ฐ์ ์๋ฒ์ ๋๊ฒ ํ ์ ์๋ค.
๋ ๋ค๋ฅธ ์๋ก ๋งค์น๋ฉ์ดํน ๊ฒ์ ์๋ฒ๋ฅผ ๋ง๋ค ๋, ํ๋ ์ด์ด ์ค๋ ฅ์ ์์ง๋ ๊ธฐ์ค์ผ๋ก ํ๋ฉด ์ค๋ ฅ์ด ๋น์ทํ ํ๋ ์ด์ด๋ผ๋ฆฌ ์๋ฒ๋ฅผ ๋ถ์ฐ์ํฌ ์ ์๋ค.
8. ๊ธฐ๋ฅ์ ๋ถ์ฐ ์ฒ๋ฆฌ
์ง๊ธ๊น์ง ๋ถ์ฐ ์ฒ๋ฆฌ์์ ์๋ฒ๊ฐ ๋ ์ด์ ๊ด์ฌํ๋ ๊ฒ์ ์์๋ณด์๋ค. ๊ทธ๋ฐ๋ฐ ๊ฐ๋์ ์ด๋ฌํ ์ํ ๋ถ์ฐ ์ฒ๋ฆฌ๋ฅผ ํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๋ ๋ฐ์ํ๋ค. ์ด๋ ์๊ฐํด ๋ณผ ์ ์๋ ๊ฒ์ด ๊ธฐ๋ฅ์ ๋ถ์ฐ ์ฒ๋ฆฌ์ด๋ค. ๋ฐ์ดํฐ ๋จ์ ๋ถ์ฐ ์ฒ๋ฆฌ, ์ฆ ์ํ ๋ถ์ฐ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์์ ๋ ์ ํํ ์ ์๋ ๋์์ด๋ค.
๊ธฐ๋ฅ์ ๋ถ์ฐ ์ฒ๋ฆฌ๋ ๊ธฐ๋ฅ ๋จ์๋ก ๋ฌด์ ํ์ผ๋ก ์ชผ๊ฐค ์ ์๊ธฐ ๋๋ฌธ์ ๋ถ์ฐ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ ๋ฒ์๊ฐ ์ ํ๋์ด ์๋ค. ๋ฐ๋ผ์ ๊ธฐ๋ฅ์ ๋ถ์ฐ ์ฒ๋ฆฌ๋ ์ตํ ์๋จ์ด๋ค. ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋ถ์ฐ ์ฒ๋ฆฌ, ์ฆ ์ํ ๋ถ์ฐ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ต๋ํ ์ฐพ์๋ณธ ํ ๋์ ํ ์๋๋ฉด ๊ธฐ๋ฅ์ ๋ถ์ฐ ์ฒ๋ฆฌ๋ฅผ ํด์ผ ํ๋ค.
9. ๋ถ์ฐ ์ฒ๋ฆฌ ์ ๋ฆฌ
์ด์ ์ ์ฒด์ ์ธ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณด์.
- ์ฑ๋ฅ ๋ถ์์ ํ์ฌ ๋ถ์ฐ ์ฒ๋ฆฌ๊ฐ ํ์ํ ์ง์ ์ ์ ํ๋ค.
- ๋ฐ์ดํฐ ์์ง๋ ฅ์ ํ์ธํ๋ค.
- ๋ถ์ฐ ์ฒ๋ฆฌ ๋ฐฉ์์ ์ ํํ๋ค. (๋ก์ง ๋ถ์ฐ ์ฒ๋ฆฌ ๋ฐฉ์)
๋ถ์ฐ ์ฒ๋ฆฌ๋ ํ์ฅ์ฑ๋ฟ๋ง ์๋๋ผ ์์ ์ฑ์๋ ํจ๊ณผ๋ฅผ ์ค๋ค. ์๋น์ค ์ฅ์ ์์ญ์ด ์ ์ฒด์์ ๊ตญ์๋ก ์ค์ด๋ค๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฌ๋ ์ง๋์น ๋ถ์ฐ ์ฒ๋ฆฌ๋ ํผํ๋ ๊ฒ์ด ์ข๋ค. ๋คํธ์ํฌ ์ฅ๋น์ ๋ถํ ๋ชฐ๋ฆผ, ๋คํธ์ํฌ ์ฅ๋น ๊ณผ๋ถํ๋ก ์๋น์ค ์ฅ์ ๋ฅผ ์ผ์ผํฌ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ฒ๋ค๊ฐ ๋ถ์ฐ ์ฒ๋ฆฌ๋ ๋๋ฒ๊น ์ด ๊น๋ค๋กญ๋ค.
10. ๊ณ ๊ฐ์ฉ์ฑ
๊ณ ๊ฐ์ฉ์ฑ์ด๋ ์ฌ์ฉ์๊ฐ ํญ์ ์๋น์ค๋ฅผ ์ด์ฉํ ์ ์๊ฒ ํ๋ ๊ฒ์ด๋ค. ์๋ฒ๊ฐ ๊ณ ์ฅ ๋๊ฑฐ๋ ๊ป๋ค ์ผ๋ ์ํฉ์ด ๋ฐ์ํจ์๋ ์๋ฒ ์ญํ ์ ์ง์ํ๋ ๊ฒ์ ๊ณ ๊ฐ์ฉ์ฑ์ด๋ผ ํ๋ค.
๊ณ ๊ฐ์ฉ์ฑ ์๋ฒ๋ ์ฌ์ฉ์ ์ ์ฅ์์๋ ๋ ผ๋ฆฌ์ ์ผ๋ก ์๋ฒ ํ ๋์ฒ๋ผ ๋ณด์ด์ง๋ง, ์ฌ์ค ์ปดํจํฐ ์ฌ๋ฌ ๋๋ก ๊ตฌ์ฑ๋ ์๋ฒ ํด๋ฌ์คํฐ์ด๋ค. ์ด ์๋ฒ ์ค์์ ๋ช๋ช ์๋ฒ๊ฐ ๊ณผ๋ถํ์ ๊ฑธ๋ฆฌ๊ฑฐ๋ ์ค์๋์ผ๋ก ์ ์งํ๋๋ผ๋ ๋๋จธ์ง ์๋ฒ๊ฐ ๊ณ์ํด์ ์ฌ์ฉ์ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋ค.