๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ1

[JAVA] ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ JAVA 8 ๋ฒ„์ „๋ถ€ํ„ฐ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋žŒ๋‹ค (lambda) ์™€ ์ŠคํŠธ๋ฆผ(stream) ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋žŒ๋‹ค์™€ ์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์Šคํƒ€์ผ๋กœ ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋žŒ๋‹ค์™€ ์ŠคํŠธ๋ฆผ ์—†์ด๋„ ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ์—๋Š” ์–ด๋ ค์›€์ด ์—†์ง€๋งŒ, ๋žŒ๋‹ค์™€ ์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” ์ž‘์„ฑํ•˜๋Š” ์ฝ”๋“œ์˜ ์–‘์„ ์ค„์ผ ์ˆ˜ ์žˆ๊ณ , ์ฝ๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ด๋ž€? ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจํ„ฐ๋‹ค์ž„ ์ค‘ ํ•˜๋‚˜๋กœ, ์ž๋ฃŒ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ•™์  ํ•จ์ˆ˜์˜ ๊ณ„์‚ฐ์œผ๋กœ ๋‹ค๋ฃจ๋Š” ๋ฐฉ์‹์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์Šคํƒ€์ผ์€ ์ƒํƒœ์™€ ๊ฐ€๋ณ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ  ๋Œ€์‹  ํ•จ์ˆ˜์˜ ์‘์šฉ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋ฐ์ดํ„ฐ์˜ ๋ถˆ๋ณ€์„ฑ(immutable)์„ ์œ ์ง€ํ•˜๋ฉฐ, ๊ฒฐ๊ณผ์— ๊ด€์‹ฌ์„ ๋‘๋ฉฐ ๊ณผ์ •.. 2023. 9. 22.
728x90
๋ฐ˜์‘ํ˜•