Dalam membuat suatu fungsi, terkadang kita menginginkan agar fungsi tersebut dapat mengakomodasi berbagai jenis tipe data yang dimasukkan dan atau dihasilkan. Misalkan kita ingin membuat fungsi yang akan menjumlahkan dua buah bilangan, tentu harapan kita adalah kita bisa memasukkan semua angka, baik bulat maupun pecahan, ke dalam fungsi tersebut dan akan menghasilkan nilai kembalian (return) yang sama. Salah satu metode agar dapat dilakukan hal tersebut adalah menggunakan template.