함수형 컴퍼넌트 추상 메서드는 무조건 한개인거죠?
질문
함수형 인터페이스는 추상 메서드가 무조건 한개인게 규칙인가여? 그런 규칙은 왜 있는것일까여?
내용 정리
질문:
람다 표현식을 사용하는 이유:
답변:
함수형 인터페이스를 다음과 같이 만들고
// src\main\java\me\whiteship\java8to11\RunSomething.javapackage me.whiteship.java8to11;@FunctionalInterfacepublic 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 키워드 없이 내부 구현 클래스 및 구현 함수를 작성 가능