JAVA

210826_Lamda

요옫 2021. 8. 26. 17:07

//람다

//자바의 함수형 프로그램인 람다 표현식은 인터페이스 사용하는 익명내부클래스의 또다른 표현식

//하지만 인터페이스가 단 하나의 추상메서드만 갖고 있어야 한다 그리서 사용 빈도 낮음

 

 

//추상메서드

 interface Orange{

 

public void write();

//public void play();  람다식 표현으로는 추상메서드 하나만 가능해서 두개 불가능

 }

 

public class Lamda_04 {

 

//익명내부클래스 이용해서 오버라이딩 하기

public void abstMethod1() {

 

Orange or=new Orange() {

 

@Override

public void write() {

 

System.out.println("익명내부클래스의 오렌지 입니다");

}

};

//출력

or.write();  

}

 

//람다식으로 오버라이딩 하기

public void abstMethod2() {

 

Orange or=()->System.out.println("나는 람다식 오렌지 입니다");

or.write();

 

System.out.println("안에 여러줄 코드할 때");

Orange or2=()->{

System.out.println("나는 여러 줄의 ");

System.out.println("람다식 오렌지");

};

//출력

or2.write();

}

 

 

public static void main(String[] args) {

 

Lamda_04 ex=new Lamda_04();

ex.abstMethod1();

System.out.println("--------------------------");

 

//람다식 출력

ex.abstMethod2();

}

}

 

//결과

익명내부클래스의 오렌지 입니다

--------------------------

나는 람다식 오렌지 입니다

안에 여러줄 코드할 때

나는 여러 줄의 

람다식 오렌지

'JAVA' 카테고리의 다른 글

210902_오라클 클라우드를 이클립스에 연결  (0) 2021.09.02
210826_Local IP+Local name  (0) 2021.08.26
210826_Thread  (0) 2021.08.26
210823_Swing(버튼)+image+Arrays  (0) 2021.08.23
210823_Swing(버튼)+image+Null  (0) 2021.08.23