https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtDynamicResolution.html#//apple_ref/doc/uid/TP40008048-CH102-SW1
https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocProperties.html#//apple_ref/doc/uid/TP30001163-CH17
Declared Properties
The Objective-C declared properties feature provides a simple way to declare and implement an object’s accessor methods.
Overview
Object-Oriented Programming with Objective-C
https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html#//apple_ref/doc/uid/TP40005149-CH1-SW2
An object-oriente
programs more intuitive to design
faster to develop
more amenable to modification
easier to understand
Most object-oriented development environments consist of at least three parts
A library of objects
A set of development tools
An object-oriented programming language and support library
The Objective-C language is a programming language designed to enable sophisticated object-oriented programming
Objective-C is defined as a small but powerful set of extensions to the standard ANSI C language.
Its additions to C are mostly based on Smalltalk, one of the first object-oriented programming languages.
Objective-C is designed to give C full object-oriented programming capabilities and to do so in a simple and straightforward way.
Every object-oriented programming language and environment has a different perspective on
what object-oriented means
how objects behave
how programs might be structured
Who Should Read This Document
Organization of This Document
Why Objective-C? explains why Objective-C was chosen as the development language for the Cocoa frameworks.
Object-Oriented Programming discusses the rationale for object-oriented programming languages and introduces much of the terminology
The Object Model describes how you can think of a program in terms of units that combine state and behavior—objects.
how you characterize these objects as belonging to a particular class
how one class can inherit state and behavior from another class
how objects can send messages to other objects.
Structuring Programs explains how you think about designing an object-oriented program by creating connections between objects
It introduces the techniques of aggregation and decomposition, which divide responsibility between different sorts of object
the role of frameworks in defining libraries of objects designed to work together.
Structuring the Programming Task discusses issues of project management related to collaboration among programmers and to code implementation.
See Also
Programming with Objective-C describes the Objective-C programming language
Objective-C Runtime Programming Guide describes how you can interact with the Objective-C runtime.
Objective-C Runtime Reference describes the data structures and functions of the Objective-C runtime support library.
you can add classes or methods
or obtain a list of all class definitions for loaded classes.