728x90
λ°μν
* λ³Έ λ΄μ©μ <Javaμ μ μ κΈ°μ΄νΈ(λ¨κΆ μ±)>μ μ°Έκ³ νμ¬ μμ±νμμ΅λλ€.
β λλ€μ(Lambda Expression)μ λ©μλλ₯Ό νλμ 'μ(expression)'μΌλ‘ ννν κ²μ΄λ€. λλ€μμ ν¨μλ₯Ό κ°λ΅νλ©΄μλ λͺ ννκ² ννν μ μκ² ν΄μ€λ€. λ©μλλ₯Ό λλ€μμΌλ‘ νννλ©΄ λ©μλμ μ΄λ¦κ³Ό λ°νκ°μ΄ μμ΄μ§λ―λ‘, λλ€μμ 'μ΅λͺ ν¨μ(anonymous function)'λΌκ³ λ νλ€. μ¦, λλ€μμΌλ‘ μΈν΄ λ©μλλ₯Ό λ³μμ²λΌ λ€λ£¨λ κ²μ΄ κ°λ₯ν΄μ§ κ²μ΄λ€.
β λλ€μ μμ±νκΈ°
int max(int a, int b) { return a > b ? a : b; }
- λ©μλμμ μ΄λ¦κ³Ό λ°ννμ μ μ κ±°νκ³ λ§€κ°λ³μ μ μΈλΆμ λͺΈν΅{} μ¬μ΄μ '->'λ₯Ό μΆκ°νκΈ°λ§ νλ©΄ λλ€.
(int a, int b) -> { return a > b ? a : b; }
- λ°νκ°μ΄ μλ λ©μλμ κ²½μ°, returnλ¬Έ λμ 'μ(expression)'μΌλ‘ λμ ν μ μλ€. μμ μ°μ°κ²°κ³Όκ° μλμ μΌλ‘ λ°νκ°μ΄ λλ€. μ΄λλ 'λ¬Έμ₯(statement)'μ΄ μλ 'μ'μ΄λ―λ‘ λμ ';'μ λΆμ΄μ§ μλλ€.
(int a, int b) -> a > b ? a : b
- λλ€μμ μ μΈλ 맀κ°λ³μμ νμ μ μΆλ‘ μ΄ κ°λ₯ν κ²½μ°λ μλ΅ν μ μλλ°, λλΆλΆμ κ²½μ°μ μλ΅κ°λ₯νλ€. λλ€μμ λ°ννμ μ΄ μλ μ΄μ λ νμ μΆλ‘ μ΄ κ°λ₯νκΈ° λλ¬Έμ΄λ€.
(a, b) -> a > b ? a : b
'Backend > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] μ΄κ±°ν(enum)μ΄λ? (0) | 2022.02.08 |
---|---|
[Java] μ€λ²λΌμ΄λ©(overriding)μ΄λ? (0) | 2022.02.04 |
[Java] Map μΈν°νμ΄μ€ (0) | 2022.01.17 |