인터페이스를 이용해 다형성이 가능하다. 인터페이스 타입의 참조변수로 이를 구현한 클래스의 인스턴스를 참조할 수 있으며, 인터페이스 타입으로의 형변환도 가능하다. ex) Fightable f = (fightable)new fighter(); 또는 Fighteable f = new fighter(); 이에 따라 인터페이스는 메서드의 매개변수의 타입으로 사용될 수 있다. ex) void attack (fightable f) { // } 위의 코드를 분석해보면 attack메서드 호출시 fightable 인터페이스를 구현한 fighter클래스의 인스턴스를 매개변수로 제공해야한다. 리턴타입이 인터페이스의 참조변수일 경우 메서드가 구현 클래스의 인스턴스를 반환한다는 의미이다. 인터페이스를 구현한 클래스의 자식클래스 ..