Open gmelon opened 1 year ago
public static void main(String[] args) {
MyClass myClass = new MyClass();
myClass.someMethod(() -> {}); // Runnable
myClass.someMethod(() -> 1); // Callable
}
static class MyClass {
public void someMethod(Runnable runnable) {
}
public <T> void someMethod(Callable<T> callable) {
}
}
@FunctionalInterface
public interface Runnable {
public abstract void run();
}
@FunctionalInterface
public interface Callable<V> {
V call() throws Exception;
}
확실히 메서드 이름이 같은데 인자로 받는 함수형 인터페이스가 다르면 헷갈리긴 하겠네요. 함수형 인터페이스가 달라지면 이름도 의미있게 다르게 지어주는게 좋아보입니당.
p.267 - 서로 다른 함수형 인터페이스를 같은 위치의 인수로 받는 메서드들을 다중 정의해서 문제가 발생하는 코드의 예시