-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
함수형 컴퍼넌트 추상 메서드는 무조건 한개인거죠?
21.04.18 11:31 작성 조회수 272
0
질문
함수형 인터페이스는 추상 메서드가 무조건 한개인게 규칙인가여? 그런 규칙은 왜 있는것일까여?
내용 정리
질문:
람다 표현식을 사용하는 이유:
답변:
함수형 인터페이스를 다음과 같이 만들고
// src\main\java\me\whiteship\java8to11\RunSomething.java
package me.whiteship.java8to11;
@FunctionalInterface
public interface RunSomething {
void doIt();
}
이걸 foo 클래스의 내부 클래스로 만들어서
구현한뒤 호출한다고 치자
람다 표현식 없이 다음과 같이 구현 가능
ex)
// 람다 표현식을 이용해 인터페이스를 구현 + 실행
package me.whiteship.java8to11;
public class Foo {
public static void main(String[] args) {
RunSomething runSomething = new RunSomething() {
@Override
public void doIt() {
System.out.println("함수형 인터페이스 구현해 보기 doit!!");
}
}; // 뒤에 ; 붙여야 함
runSomething.doIt();
}
}
그러나 람다 표현식을 사용하면 좀더 간단하게 구현 가능
ex)
람다 표현식을 사용해서 좋은점:
내부 구현 클래스를 좀더 간단하게 작성 가능 즉 new 키워드 없이 내부 구현 클래스 및 구현 함수를 작성 가능
답변을 작성해보세요.
3
백기선
지식공유자2021.04.19
네 무조건 한개여야 합니다. 반대로 메소드가 두개 이상인인터페이스에 함수형 표현식인 람다 표현식을 어떻게 대응 시킬 수 있을지 방법이 있을까요?
답변 1