컴퓨터공학 💻 도서관📚
Part2. 6-3 함수형 인터페이스와 람다식 구현하여 사용하기 본문
함수형 인터페이스 선언하기
- 람다식을 선언하기 위한 인터페이스
- 익명 함수와 매개 변수만으로 구현되므로 인터페이스는 단 하나의 메서드만을 선언해야 한다
(익명함수이므로 메서드가 2개 이상 있으면 어느 인터페이스를 구현했는지가 모호해지기 때문이다.) - @FunctionalInterface 애노테이션(annotation)
함수형 인터페이스라는 의미, 내부에 여러 개의 메서드를 선언하면 에러남
@FunctionalTnterface // @FunctionalInterface 애노테이션
public interface Add {
public int add(Int x, int y);
}
람다식 구현과 호출 (두 수를 비교하는 코드)
@FunctionalInterface
public interface MyNumber {
int getMax(int num1, int num2);
}
public class TestMyNumber {
public static void main(String[] args) {
MyNumber max = (x, y)->(x>= y)? x:y; // 람다식을 인터페이스 자료형 max 변수에 대입
// 실행문이 한 문장의 반환문인 경우 : 조건연산자 활용
System.out.println(max.getMax(10, 20)); // 인터페이스 자료형 변수로 함수 호출
}
}
(x >= y) ? x : y;
(이것도 실행문이 한 문장의 반환문인 경우이다.)
(x >= y) ? 가 if문이라고 생각하면 싶다. (x >= y) if 이런 느낌
그리고 x : y; 에서 1번째가 참일 때 , 2번째가 거짓일 때
'✅🌲강의 복습 노트 > 패캠 JavaSpring 강의,코드 복습' 카테고리의 다른 글
| Part2. 6-5 스트림(Stream : 통합 연산 도구) (3) | 2025.07.26 |
|---|---|
| Part2. 6-4 객체지향 프로그래밍 vs. 람다식 구현 (2) | 2025.07.26 |
| Part2. 6-2 함수형 프로그래밍과 람다식 문법(Lambda expression) (0) | 2025.07.06 |
| Part2. 6-1 여러 내부 클래스의 정의와 유형 (1) | 2025.07.06 |
| Part2. 5-15 쌍(pair)으로 자료를 관리하는 Map 인터페이스를 구현한 클래스와 그 활용 (HashMap 클래스 , TreeMap 클래스) (0) | 2025.07.03 |
Comments