동일한 클래스에서 선언되고 동일한 이름과 동일한 수의 매개변수를 가진 메서드를 보고합니다. 그러한 오버로드는 어떤 오버로드가 호출되었는지 확실하지 않아 매우 혼동될 수 있습니다.

예:


  class Main {
    public static void execute(Runnable r) {}
    public static <T> void execute(RunnableFuture<T> c) {}
  }

옵션을 사용하여 매개변수 타입이 확실히 호환되지 않는 오버로드된 메서드를 무시합니다.