Objective-C의 개념과 장,단점
Objective-C는 C언어에서 파생된 객체 지향 프로그래밍 언어 입니다.
1983년에 브래드 콕스와 톰 러브가 만들었습니다.
이후 1990년도 초반에 NeXT Computer 에서 채용하여 사용하였습니다.
이후 애플이 NexT Computer를 인수하며 애플의 주력 언어 중 하나로 채택하였습니다.
Objective-C는 오래된 프로그래밍 언어임에도 불구하고 Swift와 C 언어 모두와 호환되기 때문에 오늘날에도 사용되고 있습니다.
Objective-C는 더 젊은 대응 언어인 Swift가 제공하는 일부 기능이 부족하지만 여전히 안정적인 커뮤니티를 가지고 있습니다
Objective-C의 기능
Objective-C는 C와 Smalltalk라는 두 가지 프로그래밍 언어를 하나로 합친 언어 입니다.
그렇기 때문에 문법이 복잡합니다.
객체 구문은 Smalltalk에서 파생된 반면, 비객체 지향 연산의 구문은 C와 동일합니다.
Objective-C와 Swift의 성능 비교
Swift와 Objective-C의 성능을 비교해보면 Swif로 개발하는것이 더 빠릅니다.
Swift는 제네릭과 고차함수를 사용하여 더 깔끔하고 재사용 가능한 코드를 생성가능합니다.
또한 Swift는 더욱 간결한 구문을 제공하며, 객체의 인터페이스와 구현을 위하여 두 개의 코드 블록을
만들 필요가 없어 동일한 결과를 얻는데 더 적은 줄의 코드로 작성 할 수 있습니다.
Objective-C의 장점
하지만 Objective-C에도 장점은 있습니다.
첫번째는 C언어와 C++간의 호환성이 좋습니다.
Objective-C는 C를 기반으로 만들어졌기 때문에 C코드와 호환성이 좋습니다.
두번째는 언어가 안정적입니다.
Swift는 나온지 얼마 되지 않은 언어라 업데이트되며 코드를 수정해야 하는 경우가 생깁니다.
하지만 Objective-C는 나온지 오래 된 언어이기 때문에 그런 수고를 들일 필요가 없게 됩니다.
Objective-C의 단점
위에서는 장점을 설명했지만 Objective-C는 점점 사용하는 사람이 적어지고 있습니다.
첫번째 단점은 Swift에 의해 많은 부분이 대체되었기 때문에 라이브러리와 도구가 더이상 유지가 되지 않는 경우가 있습니다.
두번째 단점은 해킹에 취약하다는 것 입니다. Objective-C는 수십년 동안 존재해 왔기 때문에 역엔지니어링 도구도 개발이 되어 있습니다.
세번째는 가독성이 좋지 않다는 것 입니다. 이러한 이유는 개발자가 오류를 범활 확률을 높힙니다.
Objective-C와 Swift의 차이
Objective-C | Swift | |
문법 | C언어 기반의 문법을 사용합니다. | 가독성과 직관성이 좋은 언어 |
타입 시스템 | 동적 타이핑 | 정적 타이핑 |
메모리 관리 | 수동 참조 카운팅 | ARC 자동 메모리 관리 |
안전성 | 런타임 오류가 발생할수 있습니다. | 컴파일타임 오류를 통한 안정성 |
모듈화 | .m,.h 파일이 존재합니다. | 모듈 기반이라 코드가 한 파일에 존재합니다. |
기본 데이터타입 | 객체 지향적 | 값 타입과 참조 타입 모두 지원합니다. |
클로저 | 블록 사용 | 클로저 사용 |
지원 플랫폼 | macOS,iOS,.... | |
지원 | 광범위한 자료 | 활발한 업데이트중 |
Swift와 Objective-C중 하나를 선택하면?
대부분의 경우에는 iOS 앱을 빌드하는데 Objective-C 보다는 Swift를 사용하는 것이 더 나은 선택입니다.
하지만 Objective-C를 사용하는것이 유리한 경우가 있습니다.
첫번째는 Objective-C로 작성된 대규모 코드가 있고 이를 유지 관리하거나 몇가지의 새로운 기능만
추가해야하는 경우는 Objective-C를 사용하는 것이 더 나은 선택일 수 있습니다.
Swift와 Objective-C를 상호운용하여 한 프로젝트에서 두가지 언어를 동시에 사용할 수 있지만
게속 유지관리를 하려면 문제가 발생 할 수 있습니다.
두번째로 C나 C++ 프레임워크를 정기적으로 사용한다면 Objective-C를 사용하는게 더 나을수도 있습니다.
현재 스위프트와 Objective-C의 사용률
해당 링크는 언어의 순위를 확인하는 링크 입니다.
https://www.tiobe.com/tiobe-index/
TIOBE Index - TIOBE
Home » TIOBE Index TIOBE Index for September 2024 September Headline: Programming language C at lowest position ever One of the mothers of all programming languages, C, has dropped one position in the TIOBE index this month. C is currently at position #4,
www.tiobe.com
2024년 9월 프로그래밍 언어의 순위를 확인해보면
해당 사이트의 지표를 확인해보면 현재 Swift언어는 20위인반면에 Objective-C언어는 32위 인것을 확인할 수 있습니다.
Swift의 인기는 2014년 출시 이후로 게속 상승세를 보였으며, Apple도 적극적으로 성장을 지원했습니다.