ทฤษฎีประเภทเป็นสาขาหนึ่งของตรรกะทางคณิตศาสตร์และวิทยาการคอมพิวเตอร์ที่สำรวจความสัมพันธ์ระหว่างข้อมูล โปรแกรม และตำแหน่งประเภทต่างๆ เป็นรูปแบบของระบบประเภทที่ใช้ในภาษาโปรแกรมและอัลกอริธึมการอนุมานประเภทซึ่งใช้ในการกำหนดประเภทของข้อมูลที่ใช้ในโปรแกรม ระบบประเภทช่วยป้องกันข้อผิดพลาดไม่ให้เกิดขึ้นโดยทำให้แน่ใจว่าข้อมูลที่ส่งไปยังฟังก์ชันนั้นเป็นประเภทที่ถูกต้อง
ทฤษฎีประเภทได้รับการพัฒนาครั้งแรกโดยนักตรรกวิทยา Alonzo Church ในช่วงทศวรรษที่ 1930 และมีความเกี่ยวข้องอย่างใกล้ชิดกับแคลคูลัสแลมบ์ดาซึ่ง Church คิดค้นขึ้นเช่นกัน ขึ้นอยู่กับแนวคิดประเภทที่คล้ายกับป้ายกำกับที่ใช้ในการจัดหมวดหมู่ข้อมูลและฟังก์ชันอย่างมาก ชนิดข้อมูลใช้เพื่อแยกความแตกต่างระหว่างค่าประเภทต่างๆ เช่น ตัวเลข ข้อความ และรูปภาพ ประเภทฟังก์ชันใช้เพื่อแยกความแตกต่างระหว่างฟังก์ชันประเภทต่างๆ เช่น การคำนวณหรือการรวบรวมอินพุต
ในภาษาการเขียนโปรแกรมทั่วไป ทฤษฎีประเภทจะกำหนดประเภทของข้อมูลที่ตัวแปรจะสามารถโต้ตอบได้ ตัวอย่างเช่น โปรแกรมอาจต้องการให้ตัวแปรประเภทสตริงสามารถโต้ตอบกับตัวแปรสตริงอื่นเท่านั้น และไม่มีข้อมูลประเภทอื่น ทฤษฎีประเภทใช้ในภาษาการเขียนโปรแกรมที่หลากหลาย เช่น Java, Python และ JavaScript
การอนุมานประเภทเป็นกระบวนการกำหนดประเภทของตัวแปรโดยอัตโนมัติตามเงื่อนไขที่กำหนด กระบวนการนี้อนุญาตให้ตัวแปรบางประเภทโต้ตอบได้โดยไม่จำเป็นต้องมีคำอธิบายประกอบประเภทที่ชัดเจนจากนักพัฒนา อัลกอริธึมการอนุมานประเภทสามารถใช้เพื่อสร้างโค้ดสำหรับงานบางอย่างและสร้างโปรแกรมจากอินพุตของผู้ใช้
ทฤษฎีประเภทอนุญาตให้สร้างภาษาโปรแกรมได้หลากหลายและเชื่อมโยงกับความก้าวหน้าในด้านปัญญาประดิษฐ์ เป็นรากฐานที่สำคัญของวิทยาการคอมพิวเตอร์ ซึ่งเป็นรากฐานที่มั่นคงสำหรับการใช้เทคโนโลยีที่ซับซ้อนมากขึ้นเรื่อยๆ