
interface Getterable{
void getNum();
}
public class GetterableTest {
public static void main(String[] args) {
class Test implements Getterable{
@Override
public void getNum() {
}
}
Test t=new Test();
t.getNum();
์ด๊ฑฐ๋
Getterable g= ()-> { System.out.println(10);};
g.getNum();
// ๋๋ค๋ก ๊ตฌํํ ๋ฉ์๋์ ๋ด์ฉ ๋ถ๋ถ์ด ํ ์ค์ด๋ผ๋ฉด {} ์๋ต๊ฐ๋ฅ
Getterable g1=()-> System.out.println(10);
}
}
์ด๊ฑฐ๋ ๊ฐ์ ๋ป
public interface LambdaPractice { // ๊ตฌํํ ๋ฉ์๋๊ฐ ํ๋๋ฟ์ด๋ฉด ํจ์ํ ์ธํฐํ์ด์ค
void printName();
}
๋๋ค๋ฅผ ์ด์ฉํด์ LambdaPractice ์ธํฐํ์ด์ค ์์ printName ๋ฉ์๋์ ๊ธฐ๋ฅ์ "ํ๊ธธ๋์ ๋๋ค."๊ฐ ์ถ๋ ฅ๋ ์ ์๋๋ก ๊ตฌํํ์ฌ ํธ์ถํ์ฌ ํ์ธํด๋ณด์ธ์.
LambdaPractice lam=()-> System.out.println("ํ๊ธธ๋์
๋๋ค.");
lam.printName();
+)
์ด๋ ๊ฒ nameList ์ฝ๊ฒ ์ถ๋ ฅ ๊ฐ๋ฅ
List<String> nameList=new ArrayList<>();
nameList.add("๊ณ ๊ธธ๋");
nameList.add("์ด๊ธธ๋");
nameList.add("๊น๋๋ฆฌ");
nameList.forEach((e)->{
System.out.println(e);
});
์ง์ง ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ๋ค
interface LambdaPractice1 {
void printName(String name);
}
interface LambdaPractice2 {
void printMyInfo(String name,int age);
}
interface LambdaPractice3 {
int getData();
}
interface LambdaPractice4 {
int getResult(int a, int b);
}
LambdaPractice1 p1=name->System.out.println(name);
p1.printName("๊ณ ๊ธธ๋");
LambdaPractice2 p2=(name,age)->{
System.out.println(name);
System.out.println(age);
};
p2.printMyInfo("๊ณ ๊ธธ๋",43);
: ๋ฆฌํดํ์
์ด ์๋ ๋๋ค์์ ์ค๊ดํธ ์๋ต ๋ถ๊ฐ๋ฅ
: ์ค๊ดํธ๋ฅผ ์๋ตํ๋ ค๋ฉด return ํค์๋๋ ์๋ตํด์ผํจ
LambdaPractice3 p3=()->{return 123;};
p3.getData();
LambdaPractice3 p3=()-> 123;
p3.getData();
LambdaPractice4 p4=(a,b)->{
return a+b;
};
p4.getResult(2,3);
LambdaPractice4 p4=(a,b)->a+b;
p4.getResult(2,3);
์ spring security๋ generic ํ๋ค๊ฐ ๋๋คํ๋๊น ์ฌ๋ฐ๋ค
์ง์ง์
๋๋ค ์ฐ๋ฉด ์ข์ ์
// ๊ณ์ฐ๊ธฐ
interface LambdaPractice5 {
int getResult(int a, int b);
}
// ๊ณ์ฐ๊ธฐ
LambdaPractice5 p5=(a,b)->a-b;
p5.getResult(10,5);
LambdaPractice5 p6=(a,b)->a*b;
p5.getResult(10,5);
LambdaPractice5 p7=(a,b)->a/b;
p5.getResult(10,5);