728x90

☕ 이름 없는 클래스
- new 생성자(){ .... }
- 생성자 뒤에 중괄호가 나오고 코드를 오버라이딩 하여 구현한다.
Car car = new Car(){
public void run(){
System.out.println("Car를 상속받는 이름없는 객체가 run 메소드를 오버라이딩함");
}
}
package com.example;
public class MyRunnableMain {
public static void main(String[] args) {
MyRunnable r = new MyRunnable() {
@Override
public void run() {
System.out.println("myrunnable run!!!");
}
};
r.run();
}
}
☕ 람다(Lambda) 인터스페이스 - 메소드는 하나만 가지고 있는 인터스페이스
- 람다 interface는 메소드를 한개 가지고 있다
- 람다 인터스페이스를 사용하는 람다 표현식은 JDK 8에서 추가 되었다
- JDK 8에 추가 된 이러한 문법들을 사용할 때 보통 모던 자바라고 한다
package com.example;
public class MyRunnableMain2 {
public static void main(String[] args) {
RunnableExecute runnableExecute = new RunnableExecute();
System.out.println("--------------");
runnableExecute.exeute(() -> {
System.out.println("hello!@!");
}
);
System.out.println("---------");
}
}
/*
결과값: hello!@!
*/
728x90
'개발&etc > JAVA' 카테고리의 다른 글
[JAVA] Java IO 2편 (0) | 2023.04.07 |
---|---|
[JAVA] Java IO 1편 (0) | 2023.04.07 |
[JAVA] 팩토리 메소드 패턴과 Java Reflection (0) | 2023.04.05 |
[JAVA] 인스터스페이스 2편 - default 메소드가 필요한 이유 (0) | 2023.04.05 |
[JAVA] 인터페이스 & 로또 번호 생성기 만들기 (0) | 2023.04.05 |