람다
- 이름 없는 익명 함수
- 자바에서는 함수 대신 함수적 인터페이스를 사용
- 함수적 인터페이스 : 추상 메서드가 하나만 존재하는 인터페이스
- 재정의해야 하는 추상메서드를 람다식의 개념을 이용해 재정의하는 것이라 생각하면 편함
람다식 사용 방법
(매개변수...) -> {
실행문
};
람다식 예제
@FunctionalInterface
public interface InterfaceEx1 { // 매개변수가 2개인 인터페이스
void add(int a, int b); // 함수적 인터페이스, 메서드를 하나 더 만들면 안된다.
}
@FunctionalInterface
public interface InterfaceEx2 { // 매개변수가 1개인 인터페이스
void add(String name);
}
@FunctionalInterface
public interface InterfaceEx3 { // 매개변수가 없는 인터페이스
void hello();
}
public class LambdaEx {
InterfaceEx1 ie1 = (a, b) -> { // 매개변수가 2개 이상이면 ()안에 매개변수를 다 작성해준다.
int sum = a + b;
System.out.println(sum);
};
ie1.add(a,b);
InterfaceEx2 ie2 = name -> { // 매개변수가 하나인 경우 () 생략 가능
System.out.println(name);
};
ie2.print("홍길동");
InterfaceEx3 ie3 = () -> { // 매개변수가 없는 경우 ()를 작성
System.out.println("ㅎㅇ");
}
}