There are no types! Integer and Complex are just heads that people use in a way that's like a type.
What is your background in programming and software engineering? If you have a lot of background in programming languages, like a grad student in comp sci, I recommend the free book I linked to. However, if you are like most people who program with Mathematica, you don't need to know anything about this stuff and it won't help you. It will instead just be needlessly confusing and frustrating. To learn the basics of programming in Mathematica, read through the Mathemativa virtual book: https://www.youtube.com/watch?v=2wlk9qqPxp4
To answer your question:
Once you've created a head, you use Upvalues and Downvalues to create operations with that Head.
If you're interested in this, you may be interested in reading about how people implement algebras such as Quarternions or Dual Numbers in Mathematica.