Typing is optional in Groovy. If you care about the datatype, then specify the datatype. If you don't, don't. (I'm not being flippant -- honest!)
I tend to use types less when I am completely in Groovy, and use them more when I am talking to strongly typed things like
Java and databases. But never forget that the types are still there -- we are on the JVM, after all.
In Java, you tend to do more polymorphic/interface-driven development. class Ipod implements Player -- that sort of thing. In Groovy, you can absolutely continue down that route -- Groovy class can implement Java interfaces and vice versa -- but pure Groovy development tends to be more about duck-typing. This means that I honestly don't care about the type of the class as long as it responds to my method call. This makes mocking and
testing an order of magnitude easier, but that's a whole 'nother topic, isn't it? (grin)