๊ธฐ๋ณธ 1

03. ํ•จ์ˆ˜

๐Ÿค”ํ•จ์ˆ˜fun ํ•จ์ˆ˜์ด๋ฆ„ ([๋ณ€์ˆ˜ ์ด๋ฆ„: ์ž๋ฃŒํ˜•]): [๋ฐ˜ํ™˜๊ฐ’์˜ ์ž๋ฃŒํ˜•] { ํ‘œํ˜„์‹ [return ๋ฐ˜ํ™˜๊ฐ’]}  - ๊ฐ€๋ณ€ ์ธ์ž: ์ธ์ž์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋ณ€ํ•œ๋‹ค fun ํ•จ์ˆ˜์ด๋ฆ„ (vararg [๋ณ€์ˆ˜ ์ด๋ฆ„: ์ž๋ฃŒํ˜•]): [๋ฐ˜ํ™˜๊ฐ’์˜ ์ž๋ฃŒํ˜•] { ํ‘œํ˜„์‹ [return ๋ฐ˜ํ™˜๊ฐ’]} ๐Ÿค”์ฝ”ํ‹€๋ฆฐ == ๋‹ค์ค‘ ํŒจ๋Ÿฌ๋‹ค์ž„ ์–ธ์–ด 1) ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์ฝ”๋“œ ๊ฐ„๋žต, ํ…Œ์ŠคํŠธ๋‚˜ ์žฌ์‚ฌ์šฉ์„ฑ ์ฆ๊ฐ€, ๋žŒ๋‹ค์‹, ๊ณ ์ฐจ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ๊ตฌ์„ฑ, ์ˆœ์ˆ˜ ํ•จ์ˆ˜2) ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ  ๐Ÿค”์ˆœ์ˆ˜ ํ•จ์ˆ˜ ๋ถ€์ž‘์šฉ(side-effect)์ด ์—†๋Š” ํ•จ์ˆ˜ -> ๋™์ผํ•œ ์ž…๋ ฅ ์ธ์ž์— ๋Œ€ํ•ด์„œ๋Š” ํ•ญ์ƒ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅ, ๋ฐ˜ํ™˜ํ•จ-> ๊ฐ’์ด ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜์—ฌ ๊ฒฐ์ •์  ์กฐ๊ฑด -> ๊ฐ™์€ ์ธ์ž์— ๋Œ€ํ•˜์—ฌ ํ•ญ์ƒ ๊ฐ™์€ ๊ฐ’์„ ๋ฐ˜ํ™˜-> ํ•จ์ˆ˜ ์™ธ๋ถ€์˜ ์–ด๋–ค ์ƒํƒœ๋„ ๋ฐ”๊พธ์ง€ ์•Š์Œ  ์žฅ์ -> ์ž…๋ ฅ, ๋‚ด์šฉ์„..