Coding Planet
[μλ°μ μ μ ]λλ€μ(Lambda Expressions) 1 - λλ€μ ꡬ쑰μ μμ±λ² λ³Έλ¬Έ
π» Java Study/Java μ΄λ‘ μ 리
[μλ°μ μ μ ]λλ€μ(Lambda Expressions) 1 - λλ€μ ꡬ쑰μ μμ±λ²
jhj.sharon 2023. 8. 26. 00:46λ°μν
μλ°μ λλ€μ(Lambda Expressions)μ Java 8λΆν° λμ λ κΈ°λ₯μΌλ‘, κ°κ²°νκ² ν¨μλ₯Ό ννν μ μκ² ν΄μ€λ€. λλ€μμ΄λ λ§κ·Έλλ λ©μλλ₯Ό νλμ μ(expression)μΌλ‘ ννν κ²μ΄λ€. λλ€μμΌλ‘ νννλ©΄ λ©μλμ μ΄λ¦κ³Ό λ°νκ°μ΄ μμ΄μ§λ―λ‘ λλ€μμ μ΅λͺ ν¨μλΌκ³ λ νλ€.
| 기본ꡬ쑰
- νλΌλ―Έν° : λ©μλμ νλΌλ―Έν°μ λμΌνλ©° κ΄νΈ '()'μμ μ μΈνλ€. νλΌλ―Έν°μ νμ μ λͺ μν μλ μκ³ μλ΅ν μλ μλ€.
- νμ΄ν : νλΌλ―Έν°μ λ³Έλ¬Έμ ꡬλΆνλ μν μ νλ€.
- expression_body : ν΄λΉ ν¨μκ° μνν λ‘μ§μ λ΄κ³ μλ€.
- λ©μλμμ μ΄λ¦κ³Ό λ°ννμ μ μ κ±°νκ³ λ§€κ°λ³μ μ μΈλΆμ λͺΈν΅ μ¬μ΄μ ->λ₯Ό μΆκ°ν κ²μ΄λ€.
(parameters) -> expression_body
| λλ€μ μμ±νκΈ°
- λ°νκ°μ΄ μλ λ©μλμ κ²½μ°, returnλ¬Έ λμ μ(expression)μΌλ‘ λ체ν μ μλ€. μ΄ λλ λ¬Έμ₯(statement)λ‘ λλ κ²μ΄ μλ μμΌλ‘ λλ¬μΌλ―λ‘ ;λ₯Ό λΆμ΄μ§ μλλ€.
- λλ€μμ μ μΈλ 맀κ°λ³μμ νμ μ μΆλ‘ μ΄ κ°λ₯ν κ²½μ° μλ΅ν μ μλλ°, λλΆλΆμ κ²½μ° μλ΅ κ°λ₯νλ€.
//λ κ° μ€μμ ν° κ°μ λ°ννλ λ©μλ maxλ₯Ό λλ€μμΌλ‘ νννκΈ°
// λλ€μμ μ¬μ©νμ§ μμ μ
int max(int a, int b){
return a > b ? a:b
}
// λλ€μμ μ¬μ©ν μ
(a, b) -> a > b? a:b
- 맀κ°λ³μκ° νλλΏμΈ κ²½μ°μλ κ΄νΈ()λ₯Ό μλ΅ν μ μλ€. λ¨, 맀κ°λ³μμ νμ μ΄ μμΌλ©΄ κ΄νΈ()λ₯Ό μλ΅ν μ μλ€.
- λ¨, 맀κ°λ³μμ νμ μ΄ μμΌλ©΄ κ΄νΈ μλ΅ν μ μλ€.
//맀κ°λ³μ νλμΌ κ²½μ° μλ΅κ°λ₯
(a) -> a*a
a -> a*a
//λ¨, 맀κ°λ³μμ νμ
μ΄ μμΌλ©΄ κ΄νΈ μλ΅ν μ μλ€.
(int a) -> a*a
int a -> a*a // μλ¬
- λ§μ°¬κ°μ§λ‘ κ΄νΈ μμ λ¬Έμ₯μ΄ νλμΌ λλ κ΄νΈλ₯Ό μλ΅ν μ μλ€. μ΄ λ λ¬Έμ₯μ λμ ;λ₯Ό λΆμ΄μ§ μμμΌνλ€λ κ²μ μ£ΌμνλΌ.
- κ·Έλ¬λ, κ΄νΈ μμ λ¬Έμ₯μ΄ returnλ¬ΈμΌ κ²½μ° κ΄νΈλ₯Ό μλ΅ν μ μλ€.
(String name, int i) -> {System.out.println(name + "=" + i);}
//';' λΆμ΄μ§ μλλ‘ μ£Όμ!
(String name, int i) -> System.out.println(name + "=" + i)
//μλ¬
(int a, int b) -> return a > b ? a : b
λ°μν
'π» Java Study > Java μ΄λ‘ μ 리' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ°λͺ¬μ°λ λ(daemon thread) - μ¬μ©νλ μ΄μ μ java μ½λ μ (0) | 2024.02.26 |
---|---|
λ©ν°νμ€νΉκ³Ό λ©ν°μ°λ λ©μ μ°¨μ΄ - νλ‘μΈμ€μ μ°λ λ (0) | 2024.02.01 |
[Java] length vs length()μ μ°¨μ΄ (0) | 2023.08.26 |
String, StringBuffer, StringBuilderμ μ°¨μ΄μ κ³Ό μ¬μ©λ°©λ², μ μ©ν λ©μλ (0) | 2023.08.24 |
Wrapper ν΄λμ€μ κΈ°λ₯κ³Ό μμ (0) | 2023.08.21 |
Comments