"์•ˆ๋…•ํ•˜์„ธ์š”, ์•„๋ฏธ๊ณ ! ์ด์ œ ๋งŽ์ด ์‚ฌ์šฉํ•˜์‹œ๊ฒŒ ๋  ์ฃผ์ œ์ž…๋‹ˆ๋‹ค. ์ƒ์†์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. "

์ดˆ๋ณด์ž์—๊ฒŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋งˆ๋ฒ•๊ณผ๋„ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋น„์œ ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹คโ€ฆ

๋‹น์‹ ์ด ๋‚ ์•„๋‹ค๋‹ˆ๋Š” ๋ง์„ ๋งŒ๋“ค๊ณ  ์‹ถ์–ดํ•˜๋Š” ๋งˆ์ˆ ์‚ฌ๋ผ๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค. ํŽ˜๊ฐ€์ˆ˜์Šค ์š”์ˆ ์„ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‚ ์•„๋‹ค๋‹ˆ๋Š” ๋ง์€ ์ž์—ฐ์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ง ํž˜๋“  ์‹œ๊ฐ„์„ ๋ณด๋‚ด๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ํ•  ์ผ์ด ๋งŽ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ง๋กœ ์‹œ์ž‘ํ•˜๊ณ  ๋‚ ๊ฐœ๋ฅผ ์†Œํ™˜ํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์‰ฌ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ณ„์Šน.  ์ƒ์†์˜ ์žฅ์  - 1

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” ์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ยซ์ƒ์†ยป์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค . ๋งค์šฐ ๋ณต์žกํ•œ ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์˜ค๋žœ ์‹œ๊ฐ„์„ ํ• ์• ํ•œ ๋‹ค์Œ ๊ธด ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ฒ„๊ทธ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์™œ ์–ด๋ ค์šด ๋ฐฉ๋ฒ•์œผ๋กœํ•ฉ๋‹ˆ๊นŒ? ์ฐพ๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•˜๋Š”์ง€ ๋‘˜๋Ÿฌ๋ณด๊ณ  ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚ซ๊ฒ ์ฃ ?

ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์˜ 80%๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ฐพ์•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ํด๋ž˜์Šค์— ๋ณต์‚ฌํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

1) ์ฐพ์€ ํด๋ž˜์Šค๊ฐ€ ์ด๋ฏธ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผ๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์—†์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2) ์ˆ˜์—…์šฉ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ๋‚จ์˜ ์ฝ”๋“œ 6์ค„๋งŒ ์จ๋„ ๋ช‡์‹ญ์–ต์”ฉ ์†Œ์†ก๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ํšŒ์‚ฌ์— ๋‹ค๋‹ˆ๊ณ  ์žˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋“ค์€ ๋‹น์‹ ์„ ๊ณ ์†Œํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

3) ์ด๋กœ ์ธํ•ด ๋งŽ์€ ์ฝ”๋“œ๊ฐ€ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ค‘๋ณต๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ์ž‘์„ฑ์ž๊ฐ€ ๋ฒ„๊ทธ๋ฅผ ์ฐพ์•„ ์ˆ˜์ •ํ•˜๋ฉด ์—ฌ์ „ํžˆ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์›๋ž˜ ํด๋ž˜์Šค์˜ ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋ฒ•์  ๊ถŒํ•œ์„ ์–ป์„ ํ•„์š”๊ฐ€ ์—†๋Š” ๋ณด๋‹ค ์šฐ์•„ํ•œ ์†”๋ฃจ์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. Java์—์„œ๋Š” ๋‹จ์ˆœํžˆ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋ฅผ ํด๋ž˜์Šค์˜ ๋ถ€๋ชจ๋กœ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํ•ด๋‹น ํด๋ž˜์Šค์˜ ์ฝ”๋“œ๋ฅผ ์ž์‹ ์˜ ํด๋ž˜์Šค์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์™€ ๋ฉ”์„œ๋“œ๊ฐ€ ํด๋ž˜์Šค์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ยซ๋งยป์„ ์ƒ์†ํ•˜๊ณ  ยซ๋‚ ๊ฐœยป๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ยซํŽ˜๊ฐ€์ˆ˜์Šคยป๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณ„์Šน.  ์ƒ์†์˜ ์žฅ์  - 2

"์•„์ฃผ ํฅ๋ฏธ๋กญ๊ตฐ. ๊ณ„์†ํ•ด."

"์ƒ์†์—๋Š” ๋‹ค๋ฅธ ์šฉ๋„๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งค์šฐ ์œ ์‚ฌํ•œ 10๊ฐœ์˜ ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ผ์น˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ์™€ ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ˆ˜ ๊ธฐ๋ณธ ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑ ํ•˜๊ณ  ๋ฐ์ดํ„ฐ(๋ฐ ๊ด€๋ จ ๋ฉ”์„œ๋“œ)๋ฅผ ๊ธฐ๋ณธ ํด๋ž˜์Šค ๋กœ ์ด๋™ ํ•˜๊ณ  ํ•ด๋‹น 10๊ฐœ์˜ ํด๋ž˜์Šค๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๊ฐ ํด๋ž˜์Šค์— ๋Œ€ํ•ด ๊ธฐ๋ณธ ํด๋ž˜์Šค๋ผ๊ณ ๋„ ํ•˜๋Š” ์ƒ์œ„ ํด๋ž˜์Šค๊ฐ€ ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค."

"์ถ”์ƒํ™”์˜ ์ด์ ์ด ์บก์Šํ™”์™€ ๊ด€๋ จํ•˜์—ฌ ์ง„์ •์œผ๋กœ ๋“œ๋Ÿฌ๋‚˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ƒ์†์˜ ์ด์ ์€ ๋‹คํ˜•์„ฑ์— ์˜ํ•ด ํ™•๋Œ€๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด์„œ๋Š” ๋‚ด์ผ ๋ง์”€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์ƒ์†์˜ ๋ช‡ ๊ฐ€์ง€ ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค."

"์ฒด์Šค ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค. ์ฒด์Šค ์กฐ๊ฐ์— ๋Œ€ํ•œ ํด๋ž˜์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ํด๋ž˜์Šค๋ฅผ ์ œ์•ˆํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ, ์•„๋ฏธ๊ณ ?"

"ํ‚น, ํ€ธ, ๋น„์ˆ, ๋‚˜์ดํŠธ, ๋ฃฉ, ํฐ."

"์•„์ฃผ ์ข‹์•„. ํ•˜๋‚˜๋„ ๋น ๋œจ๋ฆฌ์ง€ ์•Š์•˜์–ด."

"๊ทธ๋Ÿฌ๋ฉด ์ด ํด๋ž˜์Šค์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๊ฒƒ์„ ์ œ์•ˆํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?"

"๊ฐ ์กฐ๊ฐ์˜ ๋ณด๋“œ ์œ„์น˜(x ๋ฐ y) ๋ฐ ๊ฐ€์น˜. ๊ฒฐ๊ตญ ์ผ๋ถ€ ์กฐ๊ฐ์€ ๋‹ค๋ฅธ ์กฐ๊ฐ๋ณด๋‹ค ๋” ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค."

"๊ทธ๋Ÿฌ๋ฉด ์ด ๋‘ ํด๋ž˜์Šค์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?"

"๊ทธ๋“ค์€ ์กฐ๊ฐ์„ ์›€์ง์ด๋Š” ๋ฐฉ๋ฒ•์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ํ–‰๋™์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค."

"์˜ˆ. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํด๋ž˜์Šค๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."

class King
{
int x;
int y;
int worth;
void kingMove()
{
//code that defines,
//how the king moves
}
}
class Queen
{
int x;
int y;
int worth;
void queenMove()
{
//code that defines,
//how the queen moves
}
}
class Rook
{
int x;
int y;
int worth;
void rookMove()
{
//code that defines,
//how the rook moves
}
}
class Knight
{
int x;
int y;
int worth;
void knightMove()
{
//code that defines,
//how the knight moves
}
}
class Bishop
{
int x;
int y;
int worth;
void bishopMove()
{
//code that defines,
//how the bishop moves
}
}
class Pawn
{
int x;
int y;
int worth;
void pawnMove()
{
//code that defines,
//how the pawn moves
}
}

"์˜ˆ, ์ •ํ™•ํžˆ ๊ทธ๋ ‡๊ฒŒ ์“ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค."

"ํ•˜์ง€๋งŒ ์ƒ์†์„ ์‚ฌ์šฉํ•˜์—ฌ ๋” ์ ์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค. ๋™์ผํ•œ ๋ฉ”์„œ๋“œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณตํ†ต ํด๋ž˜์Šค๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ChessItem์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ChessItem ๊ฐœ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์ด์น˜์— ๋งž์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฒด์Šค ์กฐ๊ฐ. ํ•˜์ง€๋งŒ ์ˆ˜์—…์ด ๋งค์šฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค."

class King extends ChessItem
{
void kingMove()
{
//code that defines,
//how the king moves
}
}
class Queen extends ChessItem
{
void queenMove()
{
//code that defines,
//how the queen moves
}
}
class Rook extends ChessItem
{
void rookMove()
{
//code that defines,
//how the rook moves
}
}
 class ChessItem
{
int x;
int y;
int worth;
}
 
class Knight extends ChessItem
{
void knightMove()
{
//code that defines,
//how the knight moves
}
}
class Bishop extends ChessItem
{
void bishopMove()
{
//code that defines,
//how the bishop moves
}
}
class Pawn extends ChessItem
{
void pawnMove()
{
//code that defines,
//how the pawn moves
}
}

"์–ผ๋งˆ๋‚˜ ํฅ๋ฏธ๋กœ์šด๊ฐ€!"

"๋ฌผ๋ก ์ด์ฃ ! ์ˆ˜์ฒœ ๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐœ์ฒด์™€ ์ˆ˜๋ฐฑ ๊ฐœ์˜ ํด๋ž˜์Šค๊ฐ€ ํฌํ•จ๋œ ํ”„๋กœ์ ํŠธ์—์„œ ์ด์ ์ด ํŠนํžˆ ํฝ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ ์ ˆํ•˜๊ฒŒ ์„ ํƒ๋œ ํด๋ž˜์Šค๋Š” ๋…ผ๋ฆฌ๋ฅผ ์ƒ๋‹นํžˆ ๋‹จ์ˆœํ™”ํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ 10๋ถ„์˜ 1๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."

"๊ทธ๋ž˜์„œ ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?"

"ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•œ ํ›„ ํ‚ค์›Œ๋“œ ' extends '๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ทธ ๋’ค์— ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ํด๋ž˜์Šค์—์„œ๋งŒ ์ƒ์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "

๊ณ„์Šน.  ์ƒ์†์˜ ์žฅ์  - 3

๊ทธ๋ฆผ์€ ยซ๋ผ์ง€ยป์—์„œ ๋ฌผ๋ ค๋ฐ›์€ "์†Œ"๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ยซ๋ผ์ง€ยป๋Š” ยซ๋‹ญยป์—์„œ ์ƒ์†๋˜๊ณ  ยซ๋‹ญยป์€ ยซ๊ณ„๋ž€ยป์—์„œ ์ƒ์†๋ฉ๋‹ˆ๋‹ค. ๊ฐ ํด๋ž˜์Šค์—๋Š” ๋ถ€๋ชจ๊ฐ€ ํ•œ ๋ช…๋ฟ์ž…๋‹ˆ๋‹ค! ์ด๋Ÿฌํ•œ ์ƒ์†์ด ํ•ญ์ƒ ๋…ผ๋ฆฌ์ ์ธ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋ผ์ง€๋งŒ ์žˆ๋Š”๋ฐ ์ •๋ง๋กœ ์†Œ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ์ข…์ข… ยซ๋ผ์ง€ยป์—์„œ ยซ์†Œยป๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š” ์š•๊ตฌ๋ฅผ ์–ต์ œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

"๊ทธ๋Ÿฐ๋ฐ ๋‘ ๊ฐœ์˜ ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? ์ œ๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์ด ์žˆ์„๊นŒ์š”?!"

"๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Java ํด๋ž˜์Šค๋Š” ๊ตฌํ˜„์˜ ๋‹ค์ค‘ ์ƒ์†์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํด๋ž˜์Šค๋Š” ๋‹จ์ผ ์ƒ์œ„ ํด๋ž˜์Šค๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์œ ํ˜•์˜ ๋‹ค์ค‘ ์ƒ์†์ด ์žˆ์œผ๋ฏ€๋กœ ํด๋ž˜์Šค๊ฐ€ ๋‘˜ ์ด์ƒ์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ฌธ์ œ๋ฅผ ์•ฝ๊ฐ„ ์™„ํ™”ํ•ฉ๋‹ˆ๋‹ค. "

"์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?"

"๋‚ด์ผ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•ด ๋ง์”€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ๊ณ„์†ํ•ด์„œ ์ƒ์†์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค."