lambda
2023. 7. 6. 12:15ใjava
๋๋ค / ๊ธฐ์กด ๋ฐฉ์ ๋น๊ต
๋๋ค ์ฌ์ฉ ์ ์ฝ๋ ๊ฐ๊ฒฐํ
package test1;
public class OuterClass {
int age;
class MemberInner{} //member(Inner)Class (OuterClass ์์ ์๋ ๋ฉค๋ฒ ํด๋์ค)
public void aaa(){
//๋ฉ์๋ ์์์๋ ํด๋์ค ์์ฑ ๊ฐ๋ฅ(๋ก์ปฌ ํด๋์ค)
class LocalClass{} //local(inner)class
}
public void runPrint(){
//๊ธฐ์กด ๋ฐฉ์
//ํด๋์ค์ ๋ํ ๊ฐ์ฒด๋ฅผ ์์ฑํด์ ๋ฉ์๋ ํธ์ถ
MyPrint p = new MyPrint();
p.print("java");
//์ต๋ช
ํด๋์ค๋ฅผ ์ฌ์ฉํด์ ๋ฉ์๋ ํธ์ถ
//Printable p1 = new Printable(); ์ธํฐํ์ด์ค๋ ์์ฑ์ ์๊ธฐ ๋๋ฌธ์ ์ค๋ฅ.
Printable p1 = new Printable() {
@Override
public void print(String s) { //๋ฉ์๋
System.out.println(s);
}
};
p1.print("java");
//๋๋ค ๋ฐฉ์(์๋ณธ) print๋ผ๋ ์ถ์ ๋ฉ์๋๋ฅผ ๊ตฌํํ ๊ฒ
Printable p2 = (String s) -> { //Printable์ ๊ตฌํ๋ ๋ฉ์๋๊ฐ 2๊ฐ๋ฉด ๋๋ค ์ฌ์ฉ X
System.out.println(s);
};
p2.print("java");
}
}
//๋ฉ์๋๋ฅผ ์ฐ๋ ค๋ฉด -> ์ธํฐํ์ด์ค ๊ฐ์ฒด ์์ฑx ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค๊ฐ ์์ด์ผ ํจ.
interface Printable{
//์ถ์ ๋ฉ์๋
void print(String s);
}
class MyPrint implements Printable{
@Override
public void print(String s) {
System.out.println(s);
}
}
๋๋ค ์ฌ์ฉ ํ์ฌ ๊ฐ๊ฒฐํ ์ํค๋ ๊ณผ์
package test1;
interface LGprint{
void print(String s);
}
public class Lambda1 {
public static void main(String[] args) {
//๋งค๊ฐ๋ณ์ ์ ๋ณด๋ ๋ฃ์ด์ค์ผ ํจ!(๋ณ์๋ช
์ ๋ฐ๋์ด๋ ์๋ฃํ์ ๋ณ๊ฒฝ X)
//๋ฉ์๋ ์ ์
LGprint p1 = (String str) -> {
//์ํ๋ print ๋ฉ์๋์ ๋ด์ฉ ์ฝ๋
System.out.println(str);
};
//๋ฉ์๋ ํธ์ถ
p1.print("java");
//์๋ฃํ ์๋ต ๊ฐ๋ฅ, () ์๋ต ๊ฐ๋ฅ. (์ด์ฐจํผ ๋ณ๊ฒฝ ์๋๊ธฐ ๋๋ฌธ์)
LGprint p2 = s -> //{
System.out.println(s + s);
//}; ์คํ๋ฌธ 1์ค์ด๋ฉด ์ค๊ดํธ ์๋ต ๊ฐ๋ฅ
p2.print("java");
}
}
'java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| lambda 2 (0) | 2023.07.06 |
|---|---|
| Map (0) | 2023.03.31 |
| ์ซ์ ์ผ๊ตฌ ๊ฒ์ (0) | 2023.02.09 |
| โ โ โ ์ปฌ๋ ์ ํ๋ ์์ํฌ2 (0) | 2023.02.07 |
| ์ปฌ๋ ์ ํ๋ ์์ํฌ ๋ฌธ์ ํ๊ธฐ (0) | 2023.02.03 |