728x90
Swift 공부를 하던 중, Objective-C언어를 알게 되었고
이 둘의 차이점을 정리해보려고 한다.
차이점
| Swift | Objective-C |
| Object-C를 보완한 언어이다. | C언어에서 파생되었다. |
| 증감 연산자가 없다. | ++,-- 증감 연산자가 있다. |
| 세미콜론(;)을 사용하지 않는다. | 세미콜론(;)을 사용한다. |
| 변수 타입이 뒤에 나온다. | 변수 타입이 옆에 나온다. |
| String 자료형이 있다. | String 자료형이 없다. |
| 포인터를 사용하지 않는다. | 오브젝트 타입 옆에 포인터(*)를 붙인다. |
| func 함수이름(인자명1: 인자타입1....) -> 리턴 타입 {} | -(리턴타입) 함수이름:(인자타입1)인자명....{} |
| 변수 타입을 꼭 명시 하지 않아도됨 | 변수 타입을 꼭 명시 해야한다. |
| 문자열에 switch/case문이 가능하다 | 문자열에 switch/case문이 불가능하다. |
장단점
| Swift 장점 | Swift 단점 | Objective-C 장점 | Objective-C 단점 |
| 명확한 타입 선언이 필요하지 않다. | Swift만의 문법 존재한다. | 컴파일 버전 업에 따른 API 변동이 없다. | 포인터 사용에 대한 어려움이 있다. |
| 애플 자체 컴파일 | Swift 버전 업에 따른 API 변동이 크다. | 안정화된 오픈 소스 사용에 용의하다. | 애플 자체 컴파일이 안된다. |
| 개발 속도가 빠르다. | 기본적인 앱 사이즈가 크다. | 기본적인 앱 사이즈가 작다. | 개발 속도가 Swift에 비해 느리다. |
참고 :
https://dev.to/nancy07/swift-vs-objective-c-which-is-the-best-for-iphone-app-development-chn
https://xtring-dev.tistory.com/entry/iOS-Object-C-vs-Swift