////
Search
β˜•

Java

μΈν„°νŽ˜μ΄μŠ€
읡λͺ… κ΅¬ν˜„ 객체
β€’
μžλ°”8μ—μ„œ μ§€μ›ν•˜λŠ” λžŒλ‹€μ‹μ€ μΈν„°νŽ˜μ΄μŠ€μ˜ 읡λͺ… κ΅¬ν˜„ 객체 생성할 수 있게 ν•œλ‹€.
μΈν„°νŽ˜μ΄μŠ€ λ³€μˆ˜ = new μΈν„°νŽ˜μ΄μŠ€(){ // μΈν„°νŽ˜μ΄μŠ€μ— μ„ μ–Έλœ 좔상 λ©”μ†Œλ“œμ˜ μ‹€μ œ λ©”μ†Œλ“œ μ„ μ–Έ };
Java
볡사
β€’
μžλ°”8λΆ€ν„° λ””ν΄νŠΈ λ©”μ†Œλ“œ, 정적 λ©”μ†Œλ“œ 선언이 κ°€λŠ₯
β—¦
μžλ°”7κΉŒμ§€λŠ” 좔상 λ©”μ†Œλ“œ μ„ μ–Έλ§Œ κ°€λŠ₯
β€’
μΈν„°νŽ˜μ΄μŠ€ λ³€μˆ˜ = () β†’ {} ν˜•νƒœμ˜ μ€„μž„ ν‘œν˜„μ€ μΈν„°νŽ˜μ΄μŠ€ 좔상 λ©”μ†Œλ“œκ°€ 1κ°œμΌλ•Œλ§Œ κ°€λŠ₯
β€’
new μΈν„°νŽ˜μ΄μŠ€()λ₯Ό μƒλž΅ν•˜κ³  μΈν„°νŽ˜μ΄μŠ€ λ³€μˆ˜ = { /*λ©”μ†Œλ“œ μ˜€λ²„λΌμ΄λ”© */ };의 ν˜•νƒœλŠ” κ°€λŠ₯
λ¬Έμ œν’€μ΄
챕터 41 : 읡λͺ…ν΄λž˜μŠ€
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); }