๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“Certificate/Engineer Information Processing

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] - [2023~2022] ์˜ค๋‹ต์ •๋ฆฌ

by Sun A 2024. 7. 14.

1๊ณผ๋ชฉ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„

๋‹คํ˜•์„ฑ(Polymorhpism)

  • ํ˜„์žฌ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.
  • ๋‹คํ˜•์„ฑ์ด๋ž€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋Š” ์˜๋ฏธ๋กœ, ์—ฌ๋Ÿฌ ํ˜•ํƒœ๋ฅผ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ๋Š” ํŠน์ง•
  • ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ(Overriding)์€ ์ƒ์œ„ ํด๋ž˜์Šค์—์„œ ์ •์˜ํ•œ ์ผ๋ฐ˜ ๋ฉ”์†Œ๋“œ์˜ ๊ตฌํ˜„์„ ํ•˜์œ„ ํด๋ž˜์Šค์—์„œ ๋ฌด์‹œํ•˜๊ณ  ์žฌ์ •์˜
  • ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ(Overloading)์€ ๋ฉ”์†Œ๋“œ๋ช…์€ ๊ฐ™์ง€๋งŒ ๋งค๊ฐœ ๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜๋‚˜ ํƒ€์ž…์„ ๋‹ค๋ฅด๊ฒŒ ํ•จ์œผ๋กœ์จ ๊ตฌํ˜„, ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์˜์—ญ(Software Scope) ๊ฒฐ์ • ์š”์†Œ

  • ๊ธฐ๋Šฅ, ์„ฑ๋Šฅ, ์‹ ๋ขฐ๋„, ์ธํ„ฐํŽ˜์ด์Šค, ์ œ์•ฝ ์กฐ๊ฑด ๋“ฑ์ด ์žˆ๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค(Interface)

  • ์†Œํ”„ํŠธ์›จ์–ด์— ์˜ํ•ด ๊ฐ„์ ‘์ €๊ธ๋กœ ์ œ์–ด๋˜๋Š” ์žฅ์น˜์™€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ•˜๋“œ์›จ์–ด
  • ๊ธฐ์กด์˜ ์†Œํ”„ํŠธ์›จ์–ด์™€ ์ƒˆ๋กœ์šด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด
  • ์ˆœ์„œ์  ์—ฐ์‚ฐ์— ์˜ํ•ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ ˆ์ฐจ

 

GoF(Gang of Four)

์ƒ์„ฑ ํŒจํ„ด(Creational Pattern)

- ํŒฉ์ถ”๋นŒํ”„์‹ฑ

- ํŒฉํ† ๋ฆฌ ๋ฉ”์†Œ๋“œ, ์ถ”์ƒ ํŒฉํ† ๋ฆฌ, ๋นŒ๋”, ํ”„๋กœํ† ํƒ€์ž…, ์‹ฑ๊ธ€ํ†ค

๊ตฌ์กฐ ํŒจํ„ด(Structural Pattern)

- ์–ด๋ธŒ์ปด๋ฐํผํ”Œํ”„

- ์–ด๋Œ‘ํ„ฐ, ๋ธŒ๋ฆฌ์ง€, ์ปดํฌ์ง€ํŠธ, ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ, ํผ์‹ธ๋“œ, ํ”Œ๋ผ์ด์›จ์ดํŠธ, ํ”„๋ก์‹œ

ํ–‰์œ„ ํŒจํ„ด(Behavioral Pattern)

- ์ฑ…์ปค์ธ๋ฐ˜์ค‘๋ฉ”์˜ต ์ƒ์ „ํ…œ๋ฐฉ

- ์ปค๋งจ๋“œ, ์ฑ…์ž„์—ฐ์‡„, ์ธํ„ฐํ”„๋ฆฌํ„ฐ, ๋ฐ˜๋ณต์ž...

 

์†Œํ”„ํŠธ์›จ์–ด ๊ฒ€ํ†  ๊ธฐ๋ฒ•

๋™๋ฃŒ๊ฒ€ํ† 

  • 2~3๋ช…์ด์„œ ์ง„ํ–‰ํ•˜๋Š” ๋ฆฌ๋ทฐ์˜ ํ˜•ํƒœ
  • ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ ์ž‘์„ฑ์ž๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ๋ฅผ ์„ค๋ช…ํ•จ
  • ์ดํ•ด๊ด€๊ณ„์ž๋“ค์€ ์„ค๋ช…์„ ๋“ค์œผ๋ฉด์„œ ์˜ค๋ฅ˜๋ฅผ ์ฐพ๋Š” ์‹์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ๊ฒ€ํ† ๊ธฐ๋ฒ•

์›Œํฌ์Šค๋ฃจ

  • ์˜ค๋ฅ˜์˜ ์กฐ๊ธฐ ๊ฒ€์ถœ์ด ๋ชฉ์ 
  • ๊ฒ€ํ†  ์ž๋ฃŒ๋ฅผ ํšŒ์˜ ์ „ ๋ฐฐํฌ, ์‚ฌ์ „๊ฒ€ํ†  ํ›„ ์งง์€ ์‹œ๊ฐ„ ๋™์•ˆ ํšŒ์˜๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ํ˜•ํƒœ์˜ ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•ด ์˜ค๋ฅ˜ ๊ฒ€์ถœ, ๋ฌธ์„œํ™”ํ•˜๋Š”
    ๋น„๊ณต์‹ ๊ฒ€ํ† ๊ธฐ๋ฒ•

์ธ์ŠคํŽ™์…˜

  • ์†Œํ”„ํŠธ์›จ์–ด ์š”๊ตฌ, ์„ค๊ณ„, ์›์‹œ ์ฝ”๋“œ ๋“ฑ์˜ ์ €์ž‘์ž ์™ธ ๋‹ค๋ฅธ ์ „๋ฌธ๊ฐ€ ๋˜๋Š” ํŒ€์ด ๋ฌธ์„œ, ์ฝ”๋“œ๋ฅผ ์ฝ์–ด๋ณด๊ณ  ๊ฒ€ํ† ํ•˜๋ฉฐ ์˜ค๋ฅ˜ ์ฐพ๋Š” 
    ๊ณต์‹์  ๊ฒ€ํ†  ๊ธฐ๋ฒ•

 

4๊ณผ๋ชฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ํ™œ์šฉ

UNIX ์‹œ์Šคํ…œ์˜ ๊ตฌ์„ฑ

์ปค๋„(Kernel)

  • UNIX์˜ ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ ๋ถ€๋ถ„
  • ์ปดํ“จํ„ฐ๊ฐ€ ๋ถ€ํŒ…๋  ๋•Œ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์ ์žฌ๋œ ํ›„ ์ƒ์ฃผํ•˜๋ฉด์„œ ์‹คํ–‰
  • ํ•˜๋“œ์›จ์–ด๋ฅผ ๋ณดํ˜ธํ•˜๊ณ , ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ•˜๋“œ์›จ์–ด ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค ์—ญํ• ์„ ๋‹ด๋‹น
  • ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ, ๊ธฐ์–ต์žฅ์น˜ ๊ด€๋ฆฌ, ํŒŒ์ผ ๊ด€๋ฆฌ, ์ž…์ถœ๋ ฅ ๊ด€๋ฆฌ, ํ”„๋กœ์„ธ์Šค๊ฐ„ ํ†ต์‹ , ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ๋ณ€ํ™˜ ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ธฐ๋Šฅ ์ˆ˜ํ–‰

์‰˜(Shell)

  • ์‚ฌ์šฉ์ž์˜ ๋ช…๋ น์–ด๋ฅผ ์ธ์‹ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์„ ํ˜ธ์ถœํ•˜๊ณ  ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ช…๋ น์–ด ํ•ด์„๊ธฐ
  • ์‹œ์Šคํ…œ๊ณผ ์‚ฌ์šฉ์ž ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค ๋‹ด๋‹น
  • DOS์˜ COMMAND.COM๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰
  • ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์ƒ์ฃผํ•˜์ง€ ์•Š๊ณ , ๋ช…๋ น์–ด๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ ํ˜•ํƒœ๋กœ ์กด์žฌํ•˜๋ฉฐ ๋ณด์กฐ ๊ธฐ์–ต ์žฅ์น˜์—์„œ ๊ต์ฒด ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅ
  • ํŒŒ์ดํ”„๋ผ์ธ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๊ณ  ์ž….์ถœ๋ ฅ ์žฌ์ง€์ •์„ ํ†ตํ•ด ์ถœ๋ ฅ๊ณผ ์ž…๋ ฅ์˜ ๋ฐฉํ–ฅ์„ ๋ณ€๊ฒฝ
  • ๊ณต์šฉ Shell์ด๋‚˜ ์‚ฌ์šฉ์ž ์ž์‹ ์ด ๋งŒ๋“  Shell ์‚ฌ์šฉ ๊ฐ€๋Šฅ