β’
μλ°8μμ μ§μνλ λλ€μμ μΈν°νμ΄μ€μ μ΅λͺ
ꡬν κ°μ²΄ μμ±ν μ μκ² νλ€.
μΈν°νμ΄μ€ λ³μ = new μΈν°νμ΄μ€(){
// μΈν°νμ΄μ€μ μ μΈλ μΆμ λ©μλμ μ€μ λ©μλ μ μΈ
};
Java
볡μ¬
β’
μλ°8λΆν° λν΄νΈ λ©μλ, μ μ λ©μλ μ μΈμ΄ κ°λ₯
β¦
μλ°7κΉμ§λ μΆμ λ©μλ μ μΈλ§ κ°λ₯
β’
μΈν°νμ΄μ€ λ³μ = () β {} ννμ μ€μ ννμ μΈν°νμ΄μ€ μΆμ λ©μλκ° 1κ°μΌλλ§ κ°λ₯
β’
new μΈν°νμ΄μ€()λ₯Ό μλ΅νκ³ μΈν°νμ΄μ€ λ³μ = { /*λ©μλ μ€λ²λΌμ΄λ© */ };μ ννλ κ°λ₯
class Main {
public static void main(String[] args) {
View.OnClickListener aOnClickListener;
// μμ κ°λ₯μ§μ μμ
aOnClickListener = () -> {
System.out.println("ν΄λ¦λμλ€λ μ¬μ€μ μ λ¬λ°μμ΅λλ€.");
};
// μμ κ°λ₯μ§μ λ
aOnClickListener.onClick();
// μΆλ ₯ => ν΄λ¦λμλ€λ μ¬μ€μ μ λ¬λ°μμ΅λλ€.
}
}
class View {
static interface OnClickListener {
public void onClick();
}
}
Java
볡μ¬
β’
λ©μλ μ¬λ¬ κ°μΌ κ²½μ° ν
μ€νΈ
class Main {
public static void main(String[] args) {
View.OnClickListener aOnClickListener;
// μμ κ°λ₯μ§μ μμ
aOnClickListener = new View.OnClickListener() {
public void onClick() {
System.out.println("ν΄λ¦λμλ€λ μ¬μ€μ μ λ¬λ°μμ΅λλ€.");
}
public void offClick() {
System.out.println("ν΄λ¦λμ§ μμλ€λ μ¬μ€μ μ λ¬λ°μμ΅λλ€.");
}
};
// μμ κ°λ₯μ§μ λ
aOnClickListener.onClick();
// μΆλ ₯ => ν΄λ¦λμλ€λ μ¬μ€μ μ λ¬λ°μμ΅λλ€.
aOnClickListener.offClick();
}
}
class View {
static interface OnClickListener {
public void onClick();
public void offClick();
}
}
Java
볡μ¬
β’
μ΅λͺ
κ°μ²΄ ꡬν μ°μ΅ λ¬Έμ
class Main {
public static void main(String[] args) {
κ³μ°κΈ° aκ³μ°κΈ° = new κ³μ°κΈ°();
aκ³μ°κΈ°.num1 = 10;
aκ³μ°κΈ°.num2 = 20;
int κ²°κ³Ό1 = aκ³μ°κΈ°.μν(new μ() {
public int μ€ν(int num1, int num2) {
return num1 + num2;
}
});
System.out.println(κ²°κ³Ό1); // 30
int κ²°κ³Ό2 = aκ³μ°κΈ°.μν((num1, num2) -> {
return num1 - num2;
});
System.out.println(κ²°κ³Ό2); // -10
int κ²°κ³Ό3 = aκ³μ°κΈ°.μν((num1, num2) -> num1 * num2);
System.out.println(κ²°κ³Ό3); // 300
}
}
class κ³μ°κΈ° {
int num1;
int num2;
int μν(μ aμ) {
return aμ.μ€ν(num1, num2);
}
}
interface μ {
public int μ€ν(int num1, int num2);
}
Java
볡μ¬
class Main {
public static void main(String[] args) {
κ³μ°κΈ° aκ³μ°κΈ° = new κ³μ°κΈ°();
aκ³μ°κΈ°.num1 = 10;
aκ³μ°κΈ°.num2 = 20;
int κ²°κ³Ό1 = aκ³μ°κΈ°.μν(new μ() {
public int μ€ν(int num1, int num2) {
return num1 + num2;
}
});
System.out.println(κ²°κ³Ό1); // 30
int κ²°κ³Ό2 = aκ³μ°κΈ°.μν(
(int num1, int num2) -> {
return num1 - num2;
}
);
System.out.println(κ²°κ³Ό2); // -10
int κ²°κ³Ό3 = aκ³μ°κΈ°.μν(
(num1, num2) -> {
return num1 * num2;
}
);
System.out.println(κ²°κ³Ό3); // 300
int κ²°κ³Ό4 = aκ³μ°κΈ°.μν(
(num1, num2) -> num1 / num2
);
System.out.println(κ²°κ³Ό4); // 0
}
Plain Text
볡μ¬
}
class κ³μ°κΈ° {
int num1;
int num2;
int μν(μ aμ) {
return aμ.μ€ν(num1, num2);
}
Plain Text
볡μ¬
}
interface μ {
public int μ€ν(int num1, int num2);
}