[C#] ํด๋ž˜์Šค

[์›๋ณธ ๋งํฌ]

C#์€ ๊ฑฐ์˜ ์ˆœ์ˆ˜ํ•œ ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ์–ธ์–ด์ด๊ณ , ๋•Œ๋ฌธ์— ๋ชจ๋“  ์ผ์€ ํด๋ž˜์Šค ๋‹จ์œ„์—์„œ ์ด๋ฃจ์–ด์ง„๋‹ค.

C์–ธ์–ด์ฒ˜๋Ÿผ ์ „์—ญ์— ๋ณ€์ˆ˜๋†“๊ณ  ํ•จ์ˆ˜๋†“๊ณ  ๊ทธ๋Ÿฐ๊ฑด ์•ˆ๋œ๋‹ค. ์ „์—ญ์— ์˜ฌ์ˆ˜ ์žˆ๋Š”๊ฑด ์˜ค์ง ํด๋ž˜์Šค๋ฅผ ๋น„๋กฏํ•œ ํƒ€์ž…์˜ ์„ ์–ธ ๋ฟ์ด๋‹ค.

C#์€ ๋Œ€๋ถ€๋ถ„์˜ ์–ธ์–ด๊ฐ€ ๊ทธ๋ ‡๋“ฏ์ด ์ด๋Ÿฐ ์‹์œผ๋กœย ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•œ๋‹ค.

class ํด๋ž˜์Šค๋ช… : ์ƒ์†ํ• ํƒ€์ž…
{
์ ‘๊ทผ์ œ์–ด์ž ํƒ€์ž… ๋ณ€์ˆ˜;
์ ‘๊ทผ์ œ์–ด์ž ํƒ€์ž… ํ”„๋กœํผํ‹ฐ { ํ”„๋กœํผํ‹ฐ ๋ชธ์ฒด };
์ ‘๊ทผ์ œ์–ด์ž ํƒ€์ž… ๋ฉ”์„œ๋“œ(ํŒŒ๋ผ๋ฏธํ„ฐ) { ๋ฉ”์„œ๋“œ ๋ชธ์ฒด }
์ ‘๊ทผ์ œ์–ด์ž ํด๋ž˜์Šค๋ช…(ํŒŒ๋ผ๋ฏธํ„ฐ) { ์ƒ์„ฑ์ž ๋ชธ์ฒด }
์ ‘๊ทผ์ œ์–ด์ž ~ํด๋ž˜์Šค๋ช…() { ์†Œ๋ฉธ์ž ๋ชธ์ฒด }
......๋“ฑ๋“ฑ
}

๋ณ€์ˆ˜๋‚˜ ๋ฉ”์„œ๋“œ๋Š” ๊ตณ์ด ์„ค๋ช…ํ•˜์ง€ ์•Š๊ฒ ๋‹ค.


ํ”„๋กœํผํ‹ฐ
C#์—๋Š” ํ”„๋กœํผํ‹ฐ๋ผ๋Š” ๊ฒŒ ์žˆ๋Š”๋ฐ, ๊ฒŒํ„ฐ/์„ธํ„ฐ ๋ฉ”์†Œ๋“œ๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฒƒ์ด๋‹ค.

์ด๋Ÿฐ์‹์œผ๋กœ ์“ด๋‹ค,

์—ฌ๊ธฐ์„œ ์‚ฌ์šฉ๋œ get๊ณผ set, value๋Š” ์ƒํ™ฉ๋ณ„ ํ‚ค์›Œ๋“œ์ด๋‹ค. ๋‹ค๋ฅธ๋ฐ์„œ๋Š” ์‹๋ณ„์ž๋กœ ์“ธ ์ˆ˜ ์žˆ๋‹จ๊ฑฐ๋‹ค.
get ๋ธ”๋Ÿญ์€ ๋ฐ˜ํ™˜๊ฐ’์ด๊ณ  set ๋ธ”๋Ÿญ์€ ์ง‘์–ด๋„ฃ์„ ๊ฐ’์„ ๋ช…์‹œํ•œ๋‹ค. value๋Š” ๋Œ€์ž…๊ฐ’์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฒƒ์ด๋‹ค.
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์œ„์ฒ˜๋Ÿผ name ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ํ”„๋กœํผํ‹ฐ๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ณ€์ˆ˜์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๊ฒŒ ์™œ ํ•„์š”ํ•œ๊ฑธ๊นŒ? ์–ด์ฐจํ”ผ ์ €๋ ‡๊ฒŒ ๊ณต๊ฐœํ•ด์„œ ์“ธ๊ฑฐ๋ฉด ๊ทธ๋ƒฅ public ๋ณ€์ˆ˜๋ฅผ ์“ฐ๋Š”๊ฒŒ ๋‚ซ์ง€ ์•Š๋‚˜?
๊ทผ๋ฐ ์‚ฌ๋žŒ๋“ค์€ ์ด๊ฒŒ ์˜คํžˆ๋ ค ๋ญ ์ถ”์ƒํ™”๊ฐ€ ์ž˜๋œ๋‹ค๋‚˜ ๋ญ๋ผ ํ•˜๋Š”๋ฐ ๋‚˜๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค.
๊ทธ๋ž˜๋„ get๊ณผ set ์—ฌ๋ถ€๋ฅผ ์กฐ์ •ํ•  ์ˆ˜๋Š” ์žˆ๋‹ค. set์„ ์•„์˜ˆ ๋นผ๋ฒ„๋ฆฌ๋ฉด ์ฝ๊ธฐ์ „์šฉ์ด ๋˜๋Š”๊ฒƒ์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฒ„์ „ 3.0๋ถ€ํ„ฐ๋Š” ๋” ํŽธ๋ฆฌํ•œ ํ”„๋กœํผํ‹ฐ ์ž๋™๊ตฌํ˜„ ๊ธฐ๋Šฅ์ด ์ƒ๊ฒผ๋‹ค.
get๊ณผ set์˜ ๊ตฌํ˜„์„ ์ง€์›Œ๋ฒ„๋ฆฌ๊ณ  ๋ณ€์ˆ˜๋ฅผ ์—†์• ๋ฒ„๋ฆฌ๋ฉด, ํ”„๋กœํผํ‹ฐ๊ฐ€ ์•Œ์•„์„œ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์ˆจ๊ฒจ๋†“๊ณ  ๊ฐ–๋‹ค์“ด๋‹ค.

ํ›จ์”ฌ ํŽธ๋ฆฌํ•ด์กŒ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ด ๊ธฐ๋Šฅ์˜ ๊ธฐ๋ฐœํ•จ์€ get์ด๋‚˜ set์— ์ ‘๊ทผ์ œํ•œ์„ ๊ฑธ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.


์ด๋Ÿฌ๋ฉด ๊ฐ’์˜ ํ• ๋‹น์€ ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ๋งŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฒŒ๋‹ค๊ฐ€ ๋ฒ„์ „ 6.0๋ถ€ํ„ฐ๋Š” ์—ฌ๊ธฐ๋‹ค ๋””ํดํŠธ๊ฐ’์„ ๋„ฃ์„ ์ˆ˜๋„ ์žˆ๋‹ค.
ํ . ํ›Œ๋ฅญํ•˜๋‹ค. ํ”„๋กœํผํ‹ฐ๋Š” ์ด๊ฑธ๋กœ ๋์ด๋‹ค.


์ƒ์„ฑ์ž ์‚ฌ์šฉ๋ฒ•์€ ์ž๋ฐ”๋ž‘ ๋˜‘๊ฐ™๋‹ค.

์ƒ์†์€ ๊ต‰์žฅํžˆ ๊น”๋”ํ•˜๋‹ค.
์ž๋ฐ”์ฒ˜๋Ÿผ extends, impl... ๋“œ๋Ÿฝ๊ฒŒ ํƒ€์ดํ•‘์ณ์•ผ ํ•˜๋Š”๊ฒƒ๋„ ์•„๋‹ˆ๊ณ , ์ ‘๊ทผ์ œ์–ด๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ๋„ ์•„๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ.

๊ทธ๋ฆฌ๊ณ  ์ € base๋Š” ์Šˆํผํด๋ž˜์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ๋‹ค. ์ž๋ฐ”์˜ super์™€ ๋™์ผํ•˜๋‹ค ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ €๋ ‡๊ฒŒ ์“ฐ๋ฉด ์Šˆํผํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•˜๋Š”๊ฑฐ๋‹ค.
์ž์‹ ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ํ‚ค์›Œ๋“œ๋กœ๋Š” this๊ฐ€ ์žˆ๋‹ค.

this๋กœ๋„ ์ €๋Ÿฐ์‹์œผ๋กœ ์ƒ์„ฑ์ž๋ฅผ ์šธ๊ถˆ๋จน์„ ์ˆ˜ ์žˆ๋‹ค. ์ƒ์„ฑ์ž ์œ„์ž„์ด๋ผ๊ณ  ํ•œ๋‹ค.
์ƒ์„ฑ์ž() : this() {...}

์†Œ๋ฉธ์ž๋Š” ๊ฐ์ฒด๊ฐ€ ์†Œ๋ฉธํ• ๋•Œ ๋‚˜์˜ค๋Š”๊ฑด๋ฐ ๋”ฑํžˆ ์ง์ ‘ ์“ธ๋ฐ๋Š” ์—†๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ๊ทธ๋ƒฅ ๋„˜๊ธด๋‹ค.


์•„์ฐธ ์ ‘๊ทผ์ œ์–ด์ž๋Š” ๋ฌด๋ ค ์ด๋ ‡๊ฒŒ 6๊ฐœ๋‚˜ ์žˆ๋‹ค.
private
public
protected
internal
internal protected
private protected (since C# 7,2)
๊ทผ๋ฐ ์œ„์— ๋‘๊ฐ€์ง€ ๋ง๊ณ ๋Š” ์“ธ์ผ ์—†์œผ๋‹ˆ ์žŠ์–ด๋ฒ„๋ ค๋„ ๋œ๋‹ค.


๊ทธ๋ฆฌ๊ณ  ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ• ๋•Œ ์ค‘๊ด„ํ˜ธ๋กœย ๋ณ€์ˆ˜๋‚˜ ํ”„๋กœํผํ‹ฐ๋ช…์„ ์ง€์ •ํ•ด์„œ ์ง์ ‘ ์ง‘์–ด๋„ฃ์„ ์ˆ˜๋„ ์žˆ๋Š”๋ฐ, public ๋ฉค๋ฒ„์—๋งŒ ํ•ด๋‹น๋œ๋‹ค. ์ƒ์„ฑ์ž ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋™์‹œ์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฑด ๋ฒ„์ „ 3.0๋ถ€ํ„ฐ ๋‚˜์˜จ ๊ธฐ๋Šฅ์ด๋‹ค.



Static
static์— ๋Œ€ํ•œ ๊ฐœ๋…์€ C++์ด๋‚˜ ์ž๋ฐ”์™€ ๋™์ผํ•˜๋‹ค.
๊ทธ๋Ÿฐ๋ฐ static๋ฉค๋ฒ„๋งŒ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” static class๊ฐ€ ์กด์žฌํ•œ๋‹ค.
๋ฐ”๋กœ ์œ„์˜ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ class ์„ ์–ธ ์•ž์— static๋งŒ ๋ถ™์ด๋ฉด ๋œ๋‹ค. ์ด ์ •์  ํด๋ž˜์Šค์— ๋น„์ •์  ๋ฉค๋ฒ„๊ฐ€ ์„ ์–ธ๋˜๋ฉด ๋นจ๊ฐ„์ค„์ด ์ณ์ง„๋‹ค.
๊ฐœ์ธ์ ์œผ๋กœ Main ๋ฉ”์†Œ๋“œ์˜ ํด๋ž˜์Šค๋Š” ์ •์ ํด๋ž˜์Šค๋กœ ์ง€์ •ํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค ์ƒ๊ฐํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  static๋ฉค๋ฒ„๋งŒ์„ ๋”ฐ๋กœ ๋ฌถ์–ด์„œ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ์ •์  ์ƒ์„ฑ์ž๋ž€๊ฒŒ ์žˆ๋‹ค.
static ํด๋ž˜์Šค๋ช…()
{
์ดˆ๊ธฐํ™”์ž‘์—… ์ˆ˜ํ–‰
}
์ด๋ ‡๊ฒŒ ์“ฐ๋ฉด ๋œ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์ •์  ๋ฉค๋ฒ„์˜ ์ดˆ๊ธฐํ™”๋งŒ์„ ๋‹ด๋‹นํ•œ๋‹ค.
๊ทผ๋ฐ ๊ตณ์ด ์ด๊ฑฐ ์“ธ ํ•„์š” ์žˆ๋‚˜? ๊ทธ๋ƒฅ ์„ ์–ธ๋ถ€์—๋‹ค ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜์ง€


์˜ค๋ฒ„๋ผ์ด๋”ฉ
C++์—์„œ๋Š” ์˜จ์ „ํ•œ ๋‹คํ˜•์„ฑ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ€์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ทธ๊ฑธ ์˜ค๋ฒ„๋ผ์ด๋“œํ•ด์•ผํ•œ๋‹ค. ๊ทผ๋ฐ ์ด๊ฒŒ ํ•„์ˆ˜์‚ฌํ•ญ์€ ์•„๋‹ˆ๋‹ค.
์ž๋ฐ”์—์„œ๋Š” ์ € ์ž‘์—…์„ ๊ทธ๋ƒฅ ๋””ํดํŠธ๋กœ ํ•ด์ค€๋‹ค.
C#์—์„œ๋Š” ์ด ๋‘˜์„ ์ ˆ์ถฉํ–ˆ๋‹ค. ์˜ค๋ฒ„๋ผ์ด๋”ฉ์„ ํ•˜๋ ค๋ฉด ๋ฐ”๋‹ฅ ํด๋ž˜์Šค์— ์žˆ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ๋ฌด์กฐ๊ฑด virtual๋กœ ์„ ์–ธํ•˜๊ณ , ์ดํ›„์— ์˜ฌ๋ผํƒ€๋Š” ๋ฉ”์†Œ๋“œ๋“ค์€ ์ „๋ถ€ override๋กœ ์ˆ˜์‹ํ•ด์•ผ ํ•œ๋‹ค.
์ด๋ ‡๊ฒŒ


ํŠน์ • ํด๋ž˜์Šค์— ๋Œ€ํ•œ ์ƒ์†์„ ๊ธˆ์ง€ํ•ด๋†“๊ณ  ์‹ถ๊ฑฐ๋‚˜
ํŠน์ • ๋ฉ”์†Œ๋“œ๋“ค์— ๋Œ€ํ•œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ์„ ๋ง‰๊ณ  ์‹ถ์œผ๋ฉด sealed ํ‚ค์›Œ๋“œ๋ฅผ ์“ฐ๋ฉด ๋œ๋‹ค.
ํด๋ž˜์Šค ๋ด‰์ธ

๋ฉ”์†Œ๋“œ ๋ด‰์ธ


๋ถ„ํ•  ํด๋ž˜์Šค๋ž€๊ฒƒ๋„ ์žˆ๋‹ค. ํด๋ž˜์Šค ์„ ์–ธ ์•ž์—๋‹ค๊ฐ€ partial์„ ๋ถ™์ด๋ฉด ํ•˜๋‚˜์˜ ํด๋ž˜์Šค ์ •์˜๋ฅผ ๋‘˜ ์ด์ƒ์œผ๋กœ ์ชผ๊ฐค ์ˆ˜ ์žˆ๋‹ค.
ํŠน๋ณ„ํ•œ๊ฑด ์—†๋‹ค. ๊ทธ๋ƒฅ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์•Œ์•„์„œ ๋ถ™์—ฌ๋‹ค๊ฐ€ ๋Œ๋ฆฌ๋Š”๊ฑฐ๋‹ค. ๋ณ„ ์“ธ๋ฐ๋Š” ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค.



๊ตฌ์กฐ์ฒด
ํด๋ž˜์Šค ์„ ์–ธ์—์„œ class๋งŒ struct๋กœ ๋ฐ”๊พธ๋ฉด ๊ตฌ์กฐ์ฒด๊ฐ€ ๋œ๋‹ค.
๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ•์€ ํด๋ž˜์Šค๋ž‘ ๊ฐ™์€๋ฐ
๋ช‡๊ฐ€์ง€ ์ œ์•ฝ์‚ฌํ•ญ๊ณผ ์ฐจ์ด์ ์ด ์žˆ๋‹ค.

์ผ๋‹จ ํด๋ž˜์Šค๋Š” ์ฐธ์กฐํƒ€์ž…์ธ๋ฐ๋‹ค๊ฐ€ ๊ฐ€๋น„์ง€์ปฌ๋ ‰ํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค€๋‹ค.
๊ทผ๋ฐ ๊ตฌ์กฐ์ฒด๋Š” ๊ฐ’ ํƒ€์ž…์ด๋ผ ๊ทธ๋ƒฅ ๋กœ์ปฌ์„ ๋ฒ—์–ด๋‚˜๋ฉด ๋‚ ๋ผ๊ฐ„๋‹ค.

ํด๋ž˜์Šค๋Š” ํž™์— ํ• ๋‹น๋œ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ํ†ตํ•ด ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์†Œ๋งŒ์„ ๋ณต์‚ฌํ•˜๋Š” ์–•์€๋ณต์‚ฌ๊ฐ€ ๊ธฐ๋ณธ๋™์ž‘์ด๋‹ค.
๊ตฌ์กฐ์ฒด๋Š” ๊นŠ์€๋ณต์‚ฌ๋‹ค.

ํด๋ž˜์Šค๋Š” ์ƒ์„ฑํ• ๋•Œ ๋ฐ˜๋“œ์‹œ new๋ฅผ ์“ฐ๋Š”๋ฐ,
๊ตฌ์กฐ์ฒด๋Š” ์จ๋„๋˜๊ณ  ์•ˆ์จ๋„๋œ๋‹ค. ์ž‘๋™์— ์ฐจ์ด๋Š” ์—†๋‹ค. new ๋ถ™์ธ๋‹ค๊ณ  ๋™์ ์œผ๋กœ ํ• ๋‹นํ•˜๊ฑฐ๋‚˜ ๊ทธ๋Ÿฌ์ง„ ์•Š๋Š”๋‹ค.

๊ตฌ์กฐ์ฒด๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜ ์—†๋Š” ์ƒ์„ฑ์ž๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์—†๋‹ค.
๊ตฌ์กฐ์ฒด์˜ ์ƒ์„ฑ์ž๋Š” ๋ชจ๋“  ํ•„๋“œ๋ฅผ ์ดˆ๊ธฐํ™”ํ•ด์•ผํ•˜๋Š” ์˜๋ฌด๊ฐ€ ์žˆ๋‹ค.


์—ด๊ฑฐ์ฒด
์—ด๊ฑฐ์ฒด๋Š” ๋ญ ๊ทธ๋ ‡๋‹ค. ๋ป”ํ•˜์ง€
์—ด๊ฑฐ๋„ ์ƒ์†์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ์ •์ˆ˜ํƒ€์ž…๋งŒ. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ํƒ€์ž…์œผ๋กœ ์—ด๊ฑฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.
๋””ํดํŠธ๋Š” int๋‹ค.



์ธํ„ฐํŽ˜์ด์Šค
์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ž๋ฐ”๋ž‘ ๋ณ„์ฐจ์ด ์—†๋‹ค.
๋ณ€์ˆ˜๊ฐ€ ์—†๊ณ  ๋ฉ”์„œ๋“œ์˜ ์ •์˜๊ฐ€ ์—†๋Š”, ๊ป๋ฐ๊ธฐ๋งŒ์„ ๊ฐ€์ง€๋Š” ํƒ€์ž…์ด๋‹ค. ๋•Œ๋ฌธ์— ์ด๊ฑฐ๋งŒ์œผ๋กœ๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†๋‹ค. ๋ญ๊ฐ€ ์žˆ์–ด์•ผ ์ƒ์„ฑ์„ ํ•˜์ง€
์•„ ๊ท€์ฐฎ๋‹ค. ์–ด์ฐจํ”ผ ์—ฌ๊ธฐ๊นŒ์ง€ ๋ดค์œผ๋ฉด ๋‹ค ์•Œํ…Œ๋‹ˆ ์š”์ ๋งŒ ์“ฐ๊ฒ ๋‹ค.
-๋ฉ”์„œ๋“œ ๊ตฌํ˜„์ด ์—†๋Š” ํด๋ž˜์Šค
-๊ฐ์ฒด ์ƒ์„ฑ ๋ถˆ๊ฐ€
-๋ณ€์ˆ˜ ์†Œ์œ  ๋ถˆ๊ฐ€
-์ ‘๊ทผ์ œ์–ด ๋ถˆ๊ฐ€
C#๋„ ์ž๋ฐ”์ฒ˜๋Ÿผ ๋‹ค์ค‘์ƒ์†์„ ๊ธˆ์ง€ํ•˜์ง€๋งŒ,
์ธํ„ฐํŽ˜์ด์Šค์— ํ•œํ•ด์„œ๋งŒ ๋‹ค์ค‘์ƒ์†์ด ๋œ๋‹ค. ๋ญ ๋“ค์–ด์žˆ๋Š”๊ฒŒ ์—†์œผ๋‹ˆ ์ถฉ๋Œํ• ๊ฒƒ๋„ ์—†์ง€.


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

์—ฌํŠผ ๋Œ€๋žต์ ์ธ ํŠน์„ฑ์€ ์ด๋ ‡๋‹ค.
-๋ฉ”์„œ๋“œ ๊ตฌํ˜„์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์•ˆํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๋ง˜๋Œ€๋กœ๋‹ค
-๊ฐ์ฒด ์ƒ์„ฑ ๋ถˆ๊ฐ€(๋™์ผ)
-๋ณ€์ˆ˜ ์†Œ์œ  ๊ฐ€๋Šฅ
-์ ‘๊ทผ์ œ์–ด ๊ฐ€๋Šฅ

abstract class ํด๋ž˜์Šค๋ช…
{
public abstract void ์ถ”์ƒ๋ฉ”์„œ๋“œ๋ช…();
...
}
์ด๋Ÿฐ์‹์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.



์ด์ •๋„๋ฉด ์–ผ์ถ” ๋‹ค ์ ์€๋“ฏํ•˜๋‹ค.

ํด๋ž˜์Šค๋Š” ์—ฌ๊ธฐ์„œ ๋งˆ์นœ๋‹ค.