๋ชฉ๋ก์คํธ๋ฆผ (2)
DevLog ๐ถ

๐ฌ ๋ชจ๋ ์๋ฐ ์ธ ์ก์ ์ฑํฐ 4์ ์ฝ๊ณ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. โ๏ธ ์คํธ๋ฆผ์ด๋? ์๋ฐ 8์ ์๋กญ๊ฒ ๋ค์ด์จ ๊ธฐ๋ฅ ์ค, ๊ฐ์ฅ ํต์ฌ์ ์ธ ๊ธฐ๋ฅ์ด๋ผ๊ณ ๋งํด๋ ๋ฌด๋ฐฉํ๋ค. ์ปฌ๋ ์ ๋ฐ์ดํฐ์ ๋ฐ๋ณต์ ๋์์ฃผ๊ณ , ๋ฉํฐ ์ค๋ ๋ ์ฝ๋ ์์ด ๋ณ๋ ฌ์ฑ์ ๊ตฌํํ ์ ์๋ ์์ฃผ ์ ์ฉํ ์น๊ตฌ์ด๋ค. ๋ํ, filter๋ sorted, map, collect ๊ฐ์ ์ฐ์ฐ์ ‘high-level building block’์ด๋ผ๊ณ ํ๋๋ฐ, ์คํธ๋ฆผ์ ๋ง์น ๋ธ๋ก์ฒ๋ผ ์๊ณ , ์กฐ๋ฆฝํ ์ ์๋ค๋ ์ ์ด ํฐ ํน์ง์ด๋ค. โ๏ธ stream ๋ฉ์๋ ๐ฑ ์คํธ๋ฆผ์ด๋, ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ฐ์ฐ์ ์ํด ์์ค์์ ์ถ์ถ๋ ์ฐ์๋ ์์์ด๋ค. 1) ์ฐ์๋ ์์ ์ปฌ๋ ์ ์ ๋ฐ์ดํฐ์ ๋ํ ์๋ฃ๊ตฌ์กฐ์๋ค๋ฉด, ์คํธ๋ฆผ์ ์ด๋ฅผ ์ด๋ค ์์ผ๋ก ๊ณ์ฐํ ์ง์ ๋ํด ๋ค๋ฃฌ๋ค. ๋ ๊ฐ์ง ๋ชจ๋, ์ฐ์๋ ๊ฐ ์งํฉ์ ์ธํฐํ..

๐ฌ ๋ชจ๋ ์๋ฐ ์ธ ์ก์ ์ฑํฐ 1์ ์ฝ๊ณ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. โ๏ธ ์๋ฐ ํจ์ ์๋ฐ์์ ํํ 'ํจ์', ๊ทธ๋ฆฌ๊ณ '๋ฉ์๋'๋ผ๋ ์ด๋ฆ์ ๋ง์ด ๋ค์ ์ ์๋ค. ์คํฐ๋์์ ํฌ๋ฃจ๋ถ์ด ํจ์์ ๋ฉ์๋์ ๋ํด์ ์ ์๋ฅผ ํด์ฃผ์ จ๋๋ฐ, ํฌ๊ฒ ๋ค์๊ณผ ๊ฐ์ด ์๊ฐํ ์ ์๋ค. ๋จ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ 'ํจ์'๋ '๋ฉ์๋'์ ๋์ผํ ์๋ฏธ๋ก ์ฐ์ผ ์ ์์ผ๋ฉฐ, ํนํ static method์ ๋ํด์ ๊ฐ์ ์๋ฏธ๋ก ์ฌ์ฉ๋๋ค. ๊ทธ๋ฌ๋, ์๋ฐ์์ ํจ์๋ '์ํ์ ์ธ ํจ์'๋ก, ๋ถ์์ฉ์ ์ผ์ผํค์ง ์๋ ํจ์๋ฅผ ๋งํ ์ ์๋ค. ๊ทธ ์ธ์ ํจ์๋ '๋ ๋ฆฝ์ ์ผ๋ก ์กด์ฌํ๋ฉฐ, ํ๋์ ๊ธฐ๋ฅ์ ๊ตฌํํ๋๋ก ๊ตฌ์ฑํ ๊ฒ'์ด๋ฉฐ, ๋ฉ์๋๋ 'ํด๋์ค ๋ด๋ถ์ ์ ์๋์ด, ๊ฐ์ฒด์ ์์ฑ์ ๋ค๋ฃจ๊ธฐ ์ํ ํ์'๋ผ๊ณ ๋ ํ๋๋ฐ ๋ ๋ฆฝ์ ์ธ์ง, ์ข ์์ ์ธ์ง์ ๋ฐ๋ฅธ๋ค๊ณ ๋ณผ ์ ์๋ค. โ๏ธ ์ผ๊ธ ๊ฐ์ฒด..