Lambda

양혜정·2024년 2월 17일
0

Begin_java

목록 보기
67/71

Lambda

  • 익명 함수
  • 인터페이스에 정의된 메소드를 구현 시 코딩양을 줄여서 간편하게 사용하는 것이 목적

Lambda 사용 조건

  • unctionallInterface ( 함수형 인터페이스 ) 를 구현한 익명(무명) 클래스이어야 한다.

Setting

  • 함수형 인터페이스
==> 1// 어노테이션을 사용하여 함수형 인터페이스 만들기
@FuntionalInterface		
public interface Funtional_Operator1 {
// 미완성 메소드는 1개만 존재해야 한다.
	double operator1(double a, double b, String type);
}	// end of public interface Funtional_Operator1-------

==> 2// 어노테이션을 사용하여 함수형 인터페이스 만들기
@FuntionalInterface		
public interface Funtional_Operator2 {
// 미완성 메소드는 1개만 존재해야 한다.
	int operator2(int a, int b);
}	// end of public interface Funtional_Operator2-------

==> 3// 어노테이션을 사용하여 함수형 인터페이스 만들기
@FuntionalInterface		
public interface Funtional_Operator3 {
// 미완성 메소드는 1개만 존재해야 한다.
	void operator3(String str);
}	// end of public interface Funtional_Operator3-------

==> 4@FuntionalInterface		
public interface Funtional_Operator4 {
// 미완성 메소드는 1개만 존재해야 한다.
	void searchAll();
}	// end of public interface Funtional_Operator4-------

Lambda 표기법

 ===================== 1 번 참고 =========================
// 기존
Funtional_Operator1 op1 
	= (double a, double b, String type) -> {실행명령문};

// 파라미터 생략 가능
Funtional_Operator1 op1
	= (a, b, type) -> {실행명령문};

// 실행명령문이 1개라면 { } 생략 가능 
Funtional_Operator1 op1 
	= (a, b, type) -> 실행명령문;	// 실행명령문 1개 인 경우
  
  ===================== 2 번 참고 =========================
// 실행명령문이 1개이더라도 return 이 있을 경우 { } 생략 불가능
Funtional_Operator2 op2 = (a, b) -> {return a+b;};

 ===================== 3 번 참고 =========================
// 파라미터의 개수가 1개라면 ( ) 생략 가능
Funtional_Operator3 op3 = str -> {실행명령문};

 ===================== 4 번 참고 =========================
// 파라미터가 없으면 ( ) 무조건 넣기 
Funtional_Operator4 op4 = () -> {실행명령문};

정리

my.day.19.c.lambda
-> Functional_Area_1, Main_2, Functional_Operator_3, Functional_Search_4, Functional_Search_5, Functional_Plus_6

0개의 댓글

관련 채용 정보