๋ฐ์ํ
์ด ํฌ์คํธ๋ ์๋ฐ ์ฝ๋๋ฅผ ๋๋ค์์ผ๋ก ๋ณํํ๋ ๋ฐฉ์์ผ๋ก
๋๋ค์ ์์ฑ๋ฒ์ ์ค๋ช ํ๊ณ ์์ต๋๋ค.
๐ก Java๋ ๊ฐ์ฒด์งํฅ ์ธ์ด(OOP:Object Oriented Programming)์ธ์ด์ด๋ค.
8๋ฒ์ ๋ถํฐ ํจ์ํ ์ธ์ด(FP:Function Programming) ํํ์์ ํฌํจ์์ผฐ๋ค.
๊ทธ ์ธ Python๊ณผ JS ๋ชจ๋ OOP์ธ์ด์ด๋ฉด์ FP๊ธฐ๋ฅ๋ค์ ๊ฐ์ง๊ณ ์๋ค.
โป ๊ฐ ์ธ์ด๋ง์ ๋๋ค์์ ๊ฐ๊ฒฐํจ์ ์ถ๊ตฌํ์ง๋ง ์ฌ์ฉ๋ฒ์ ์กฐ๊ธ์ฉ ๋ค๋ฅด๋ค.
๋๋ค์
Lambda
: ํจ์๋ฅผ ๊ฐ๋จํ ์expression์ผ๋ก ํํํ๋ ๋ฐฉ๋ฒ
๐ก๋๋ค์์ ํจ์ ์ด๋ฆ๊ณผ ๋ฐํํ์ ์ด ์๊ธฐ ๋๋ฌธ์ ์ต๋ช ๊ฐ์ฒดanonymous๋ผ๊ณ ํ๋ค.
์์ฑ๋ฒ
- ๋ฉ์๋ ์ด๋ฆ๊ณผ ๋ฐํํ์ ์ ์ ๊ฑฐํ๊ณ
- -> ๋ฅผ ๋ธ๋ก{ } ์์ ์ถ๊ฐํ๋ค.
- ๊ฐ์ ๋ฐํํ ๊ฒฝ์ฐ
- ์์ด๋ ๊ฐ๋ง ์ ๊ณ return ์๋ต๊ฐ๋ฅ( ; ๋ ์ ์ผ๋ฉด ์๋๋ค)
- ๋งค๊ฐ๋ณ์์ ํ์
์ด ์ถ๋ก ๊ฐ๋ฅํ ๊ฒฝ์ฐ, ํ์
(int) ์๋ต๊ฐ๋ฅ.
์ฃผ์์ฌํญ
- ๋งค๊ฐ๋ณ์๊ฐ ํ๋์ด๊ณ ํ์
์ด ์๋ ๊ฒฝ์ฐ ๊ดํธ ( ) ์๋ต๊ฐ๋ฅ.
- ๋ธ๋ก{ } ์ ๋ฌธ์ฅ์ด ํ๋๋ฟ ์ผ ๊ฒฝ์ฐ, ๊ดํธ { } ์๋ต๊ฐ๋ฅ ( ; ๋ ์ ์ผ๋ฉด ์๋๋ค)
- ๋จ, ํ๋๋ฟ์ธ ๊ทธ ๋ฌธ์ฅ์ด return์ผ ๊ฒฝ์ฐ { }์๋ต๋ถ๊ฐ.
๋ฐ์ํ
'๐ฌ ํ๋ก๊ทธ๋๋ฐ ํํ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Lambda]ํจ์ํ ์ธํฐํ์ด์ค FunctionalInterface (0) | 2024.12.11 |
---|