카테고리 없음

Objective-C의 개념과 장,단점

섭섭's 2024. 9. 14. 20:44

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도 적극적으로 성장을 지원했습니다.