[ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„] ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์ด๋ž€?

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„(Programming Paradigm)์ด๋ž€? ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ด€์ ์„ ๊ฐ–๊ฒŒ ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋Š” ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ : ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์ด ํ”„๋กœ๊ทธ๋žจ์„ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๊ฐ์ฒด๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๋ฐ˜๋ฉด์—, ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ : ์ƒํƒœ ๊ฐ’์„ ์ง€๋‹ˆ์ง€ ์•Š์€ ํ•จ์ˆ˜ ๊ฐ’๋“ค์˜ ์—ฐ์†์œผ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์„ ์–ธํ˜•๊ณผ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์„ ์–ธํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Declarative Programming)์ด๋ž€ "๋ฌด์—‡์„" ํ’€์–ด๋‚ด๊ฐ€๋Š”๊ฐ€์— ์ง‘์ค‘ํ•˜๋Š” ํŒจ๋Ÿฌ๋‹ค์ž„์ด๋ฉฐ, "ํ”„๋กœ๊ทธ๋žจ์€ ํ•จ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฒƒ์ด๋‹ค"๋ผ๋Š” ๋ช…์ œ๊ฐ€ ๋‹ด๊ฒจ ์žˆ๋Š” ํŒจ๋Ÿฌ๋‹ค์ž„์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด JavaScript๋กœ ์ž์—ฐ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์—์„œ ์ตœ๋Œ€๊ฐ’์„ ์ฐพ์„๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. const ret = [1, 2, 3, 4..

CS/Design Pattern 2022. 10. 1. 16:19
[JavaScript] ํ•จ์ˆ˜

ํ•จ์ˆ˜๋ž€? ์ˆ˜ํ•™์˜ ํ•จ์ˆ˜๋Š” "์ž…๋ ฅ"์„ ๋ฐ›์•„ "์ถœ๋ ฅ"์„ ๋‚ด๋ณด๋‚ด๋Š” ์ผ๋ จ์˜ ๊ณผ์ •์„ ์ •์˜ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ํ•จ์ˆ˜๋„ ์ด์™€ ๊ฐ™์€ ๊ฐœ๋…์ธ๋ฐ ์ผ๋ จ์˜ ๊ณผ์ •์„ ๋ฌธ์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ์ฝ”๋“œ ๋ธ”๋ก์œผ๋กœ ๊ฐ์‹ธ์„œ ํ•˜๋‚˜์˜ ์‹คํ–‰ ๋‹จ์œ„๋กœ ์ •์˜ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. // ํ•จ์ˆ˜ ์„ ์–ธ function add(x,y) { return x + y; } // ํ•จ์ˆ˜ ํ˜ธ์ถœ add(2,5); // ๋ฐ˜ํ™˜๊ฐ’ 7 ํ•จ์ˆ˜๋Š” ํ•จ์ˆ˜ ์ •์˜๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋˜๊ณ  ์ธ์ˆ˜๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ํ•จ์ˆ˜์— ์ „๋‹ฌํ•˜๋ฉด์„œ ํ•จ์ˆ˜์˜ ์‹คํ–‰์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์‹œํ•˜๋Š” ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ์ง„ํ–‰ํ•˜๋ฉด ์ฝ”๋“œ ๋ธ”๋ก์— ๋‹ด๊ธด ๋ฌธ๋“ค์ด ์ผ๊ด„์ ์œผ๋กœ ์‹คํ–‰๋˜๊ณ  ์‹คํ–‰ ๊ฒฐ๊ณผ์ธ ๋ฐ˜ํ™˜๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์‹๋ณ„์ž : ํ•จ์ˆ˜๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ํ•จ์ˆ˜ ์ด๋ฆ„ (add) ๋งค๊ฐœ๋ณ€์ˆ˜(parameter) : ํ•จ์ˆ˜ ๋‚ด๋ถ€๋กœ ์ž…๋ ฅ์„ ์ „๋‹ฌ๋ฐ›๋Š” ๋ณ€์ˆ˜(x,y) ์ธ์ˆ˜(argument) ..