What exactly is "task type" in gradle?
<p>I can declare a type for a gradle task and doing so seems to inherit some methods. For example:</p>

<pre class="lang-groovy prettyprint-override"><code>task myCopyTask(type: Copy){
  from "foo"
  into "bar"
}
</code></pre>

<p>So, I think <code>myCopyTask</code> is an instance of <code>org.gradle.api.tasks.Copy</code> class, yes? And if I declare a task without any type, it is an instance of <code>org.gradle.api.DefaultTask</code>? Sorry for the basic question. I have been reading the gradle guide like <a href="https://docs.gradle.org/current/userguide/more_about_tasks.html#sec:configuring_tasks" rel="noreferrer">this page</a> but it isn't clear to me what <code>type:</code> exactly is. </p>