Objective-C는 C로 작성된 개체 지향 시스템을 제어할 수 있도록 매크로적 확장을 한 언어이다.
메서드(함수)의 파라미터에 라벨을 붙일 수 있는 장점이 있다. C나 C++는 함수를 호출하는 부분에 파라미터만 나열하므로 파라미터의 의미 파악이 어렵다. 그러나 Objective-C는 처음 보는 코드라도 라벨을 참조하면 무엇이 파라미터로 지정되었는지 의미 파악이 용이하다.
Objective-C에서의 프로그래밍은 Objective-C를 지원하는 컴파일러로 컴파일하고 프로그램을 빌드해서 실행하는 순서로 진행된다. 이러한 컴파일러는 Mac OS X에서는 Xcode를 설치하면 해결된다. Mac OS X 외의 환경에서는 GNUstep을 사용할 수 있다.
1980년대 초반에 브래드 콕스와 톰 러브에 의해 개발되었으며, NeXT의 NeXTSTEP 운영체제의 주요 개발 언어로 채택되면서 널리 사용되기 시작했다. 이후 NeXT가 애플에 인수되면서 macOS와 iOS의 공식 개발 언어로 자리매김하였으며, 오랫동안 애플 생태계의 핵심 기술로 사용되었다. 하지만 2014년 애플이 Swift라는 새로운 프로그래밍 언어를 발표하면서 입지가 점점 좁아지고 있다.
C언어 함수에서 Objective-C 메서드를 호출할 수 있으며 그 역도 가능하다. 이외에도 구조체와 타입 정의에 쓰이는 'typedef' 명령도 사용 가능하다. C++ 클래스도 사용 가능하지만, 클래스 계층을 혼합하는 것은 불가능하다. C++클래스를 상속한 Objective-C 클래스를 구현하거나 반대로 Objective-C 클래스를 상속한 C++ 클래스는 구현할 수 없다. 또한 C++의 가상함수 지원이 되지 않는다.