で、printNameの内容を逆コンパイルすると・・・、

  public void printName(Object o)
  {
    Predef$.MODULE$.println((String)reflMethod$Method1(o.getClass()).invoke(o, new Object[0]));
  }

  private static Method reflMethod$Method1(Class x$1)
  {
    if(reflMethod$Cache1 == null || reflClass$Cache1 != x$1)
    {
      reflMethod$Cache1 = x$1.getMethod("name", new Class[0]);
      reflClass$Cache1 = x$1;
    }
    return reflMethod$Cache1;
  }

やっぱり実行時はリフレクションですか・・・。orz