Az Objective-C programozási nyelv a C nyelv objektum-orientált kiterjesztésének tekinthető. Fejlesztői azzal a céllal hozták létre, hogy a C nyelvnek egy olyan objektum-orientált kiterjesztése valósuljon meg, amely kevés új nyelvi elemet tartalmaz, valamint különösen alkalmas dinamikus viselkedésű programok fejlesztésére. Az újdonságok a C-hez képest többnyire az első objektum-orientált nyelvek egyikén, a Smalltalkon alapulnak.
Az Objective-C nyelv - hasonlóan a legtöbb objektum-orientált programozási nyelvhez - az osztály fogalmára épít, az osztályok és az osztályok példányai (az objektumok), valamint az üzenetküldés valósítják meg mindazt, ami az Objective-C nyelvben új a C-hez képest. Mindazonáltal az összes C-ben megszokott eszköz ugyanúgy használható, hiszen az összes C kód lefordul Objective-C fordítóval is. Ebben a jegyzetben jórészt azzal a többlettel foglalkozunk, amit az Objective-C nyújt a C-hez képest.