All Cocoa programming is done using object-oriented techniques. This section very briefly reviews terms used in object-oriented programming. If you have not done any object-oriented programming before, I recommend that you read The Objective-C Language. The PDF file for the book is on the Apple Web site (http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/ObjC.pdf).
What is an object? An object is like a C struct: It takes up memory and has variables inside it. The variables in an object are called instance variables. So when dealing with objects, the first questions we typically ask are: How do you allocate space for one? What instance variables does the object have? How do you destroy the object when you are done with it?
Some of the instance variables of an object will be pointers to other objects. These pointers enable one object to "know about" another object.
Classes are structures that can create objects. Classes specify the variables that the object has and are responsible for allocating memory for the object. We say that the object is an instance of the class that created it.
An object is better than a struct, because an object can have functions associated with it. We call the functions methods. To call a method, you send the object a message.