ํฌ์ŠคํŠธ

Procedural Programming

Procedural Programming

๐ŸŒ’ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„


๐Ÿ’ซ Procedural Programming | ์ ˆ์ฐจ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ


Procedure ํ”„๋กœ์‹œ์ € (Routine ๋ฃจํ‹ด, SubRoutine ์„œ๋ธŒ๋ฃจํ‹ด, Method ๋ฉ”์†Œ๋“œ, Function ํ•จ์ˆ˜)
๋ฅผ ์ด์šฉํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„

VS ์ˆœ์ฐจ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ์ˆœ์ฐจ์  ๋ช…๋ น ์ˆ˜ํ–‰
์ถ”์ƒํ™”, ์žฌ์‚ฌ์šฉ์„ฑ

Procedural โ†’ Procedure
์ ˆ์ฐจ์— ์ง‘์ค‘ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ (์ ˆ์ฐจ/์ˆœ์„œ์— ๋”ฐ๋ผ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์ž๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ), ํ”„๋กœ์‹œ์ €์— ์ง‘์ค‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„
๋ชจ๋“  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ ˆ์ฐจ ๋ฅผ ๊ฐ€์ง€๊ณ , ์ˆœ์„œ์— ๋”ฐ๋ผ ๋ช…๋ น์ด ์‹คํ–‰๋œ๋‹ค.

ํ”„๋กœ์‹œ์ € ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๋” ์ ํ•ฉํ• ์ง€๋„ ๋ชจ๋ฅธ๋‹ค

ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ์ด ๋“ค์–ด์™€์„œ ์ถœ๋ ฅ์ด ๋‚˜๊ฐ€๋Š” ๋ธ”๋ž™๋ฐ•์Šค๋กœ ๊ฐ„์ฃผ๋œ๋‹ค.
์ ˆ์ฐจ ์ง€ํ–ฅ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์„ค๊ณ„ ๋ฐฉ๋ฒ•์€ ํ•˜ํ–ฅ์‹ ์„ค๊ณ„ (Top Down Design) ์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค.
ํ•˜ํ–ฅ์‹ ์„ค๊ณ„ ๋ฐฉ๋ฒ•์—์„œ๋Š” ๋ฌธ์ œ๋ฅผ๋” ์ž‘์€ ์„œ๋ธŒ ํ”„๋กœ์‹œ์ €๋กœ ๋ถ„ํ•ดํ•˜์—ฌ ์›ํ•˜๋Š” ์ˆ˜์ค€์— ๋„๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•จ์œผ๋กœ์จ ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋งํ•œ๋‹ค.

๐Ÿซง ๋ฌธ์ œ์ 

๋ฐ์ดํ„ฐ๊ฐ€ ํ•จ์ˆ˜์™€ ๋ถ„๋ฆฌ๋œ๋‹ค.
๋งŽ์€ ๊ฒฝ์šฐ์—, ์ ˆ์ฐจ ์ง€ํ–ฅ ๋ฐฉ๋ฒ•์—์„œ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์˜ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์€ ํ•จ์ˆ˜ ์ž‘์„ฑ์—๋งŒ ์‹ ๊ฒฝ์„ ์“ฐ๊ฒŒ ๋œ๋‹ค.

1. ๊ณผ๋„ํ•œ ์ „์—ญ๋ณ€์ˆ˜์˜ ์‚ฌ์šฉ

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

2. ํ”„๋กœ๊ทธ๋žจ์˜ ์ดํ•ด๊ฐ€ ์–ด๋ ค์›Œ์ง„๋‹ค

์ ˆ์ฐจ ์ง€ํ–ฅ์—์„œ๋Š” ์ž‘์—…๋“ค์ด ํ•จ์ˆ˜๋กœ ์ž‘์„ฑ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์ธ๊ฐ„์ด ๋™์‹œ์— ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜์˜ ์ˆซ์ž๋Š” ์ œํ•œ๋˜์–ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์„œ๋กœ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ์ˆ˜๋ฐฑ ๊ฐœ์˜ ํ•จ์ˆ˜๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ์ง€ ์•Š๋‹ค.

3. ๋ณ€๊ฒฝํ•˜๊ณ  ํ™•์žฅํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค

์ ˆ์ฐจ ์ง€ํ–ฅ์˜ ๊ฒฝ์šฐ, ํ”„๋กœ๊ทธ๋žจ์˜ ๋ณต์žก๋„๊ฐ€ ์–ด๋Š ์ •๋„ ์ด์ƒ์œผ๋กœ ์ปค์ง€๊ฒŒ ๋˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์„ ๋ณ€๊ฒฝํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์›Œ์ง„๋‹ค. ์ข…์ข… ํ•˜๋‚˜์˜ ํ•จ์ˆ˜๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ๋‹ค๋ฅธ ํ•จ์ˆ˜๋“ค์ด ์˜ํ–ฅ์„ ๋ฐ›๊ฒŒ ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด ๊ธฐ์‚ฌ๋Š” ์ €์ž‘๊ถŒ์ž์˜ CC BY 4.0 ๋ผ์ด์„ผ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.