왜 밑의 두 문장처럼 호출되는지에 대해서 설명드리겠습니다. 일단 fighter.opponent.getFullname()을 호출하면 opponent 객체가 outer가 되고 이 outer안에 있는 getFullname이라는 객체의 this가 가르키는 객체는 다른 bind와 같은 지시해준 것이 없기 때문에 opponent를 가르키게 됩니다.따라서 fighter.opponent.getFullname()이 호출 되면 opponent를 가르키는 this -> fullname인 Francis Ngannou가 호출이 됩니다. 여기서 중요한 것은 fighter.opponent.getFullname()는 호출의 주체가 명확한 메서드 입니다. 그다음 fighter.getName()를 호출하면 그냥 함수로서 호출한것이 아..