반응형
250x250
11-24 23:05
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 알고리즘
- sort
- 디자인패턴
- 프로그래머스 level1
- swift split
- 자료구조
- 스위프트
- programmer
- datastructure
- 다트
- swift
- Algorithm
- programmers
- rxswift
- Design Pattern
- swift 알고리즘
- swift 코딩테스트
- 정렬 알고리즘
- coding test
- 코테
- 프로그래머스 swift
- 디자인 패턴
- 스위프트디자인패턴
- dart
- 정렬
- 프로그래머스 레벨2
- 정렬알고리즘
- 감성에세이
- 코딩테스트
- 프로그래머스
Notice
Recent Posts
Recent Comments
Link
Archives
Bill Kim's Life...
[Swift] Swift5 vs Objective C : 개념적 차이 본문
728x90
반응형
Swift5와 Objective C와의 개념적 차이를 알아봅니다.
본 글에서는 Swift5와 Objective C를 직접 비교하면서 주요 특징 및 문법 상의 차이를 한번 살펴봅니다.
이번 시간은 주로 개념적인 부분에서의 차이를 한번 비교해보며 다음 시간에는 문법적인 차이를 살펴보겠습니다.
#. 필요 기본 지식
- 기존에 iOS 개발에 대한 기초 지식이 있으신분
- Objective C에 대해서 사용 경험이 있거나 개발을 많이 해보신분
- Swift를 처음 진입하기전에 Objective C와의 차이를 알고 싶으신분
최대한 이해하기 쉽도록 간략하면서 핵심적인 사항을 비교해드리겠습니다.
그럼 본격적으로 한번 살펴보겠습니다.
#1. 지향점
- Swift : 멀티 프로그래밍 패러다임 언어(객체 지향, 함수형, 프로토콜 지향 언어)
- Objective C : C 방식의 스몰토크 스타일의 메시지 구문형 언어
#2. 헤더 파일
- Swift : 별도의 헤더 파일이 없이 .swift 파일에서 처리
- Objective C : 헤더(.h)와 본문(.m) 파일이 따로 존재
#3. 버전업
- Swift : Swift 컴파일러 버전 업에 따른 API의 규칙 및 사용 방법이 변경될 수 있음. 이는 Swift 버전업에 따른 기존 소스 마이그레이션작업이 필요할 수 있음
- Objective C : 컴파일러 버전업에 따른 API 변동 없음. 기존에 작성하던 코드가 변동없이 계속 사용 가능
#4. 코딩 스타일
- Swift : Java와 유사한 형태의 간결한 코딩 방식, Objective C보다 훨씬 짦은 코딩으로 개발이 가능
- Objective C : C 스타일와 블럭 코딩( [ ] ) 스타일 형태로 코딩
#5. 변수 선언
- Swift : 변수 선언이 명확인 타입 지정이 없어도 됨, 단 초기화 시에는 명확하게 값을 입력해주어야 함
- Objective C : 변수형이 초기에 명확하게 선언되어야 함
#6. nil 처리
- Swift : nil(null) 포인트 에러 및 할당값 오류를 컴파일 단계에서 명확히 잡아줌
- Objective C : nil 포인트 처리를 사용자가 신경써서 처리해야 함. 컴파일 단계에서 nil 오류 등을 잡아주지 않음
#7. 타입 체크
- Swift : 타입 세이프(Type-Safe)한 언어 방식, 상수 및 변수 타입을 컴파일 시에 바로 체크하여 알려준다.
- Objective C : 컴파일 시에는 변수 타입에 대한 체크를 하지 않아 사용자가 직접 관리를 신경써야한다. 런타임 오류가 발생하 여지가 더 많음
#8. ARC(Auto Reference Couting)
- Swift : C 네이티브 코드에 대해서도 ARC를 지원한다.
- Objective C : C 네이티브 코드에서는 별도록 ARC를 관리하여야 한다.
#9. 효율성
- Swift : 컴파일 및 앱 실행 속도가 빠른 대신에 앱 사이즈가 Objective C 앱보다 더 큼
- Objective C : 컴파일도 기존 C 보다 느리지만 앱 사이즈는 Swift 대비 작음
오늘은 가볍게 Swift를 시작하시는 분들을 위한 기존 Objective C와의 개념적 차이에 대해서 설명해드렸습니다.
이제 Swift를 막 시작하신 분들은 너무 부담을 느끼지 마시고 지금부터 천천히 Swift 세계로 들어오시기 바랍니다.
애플에서 주장한대로 Swift는 Objective C 대비 누구에게나 쉽고 빠르게 코딩을 배울 수 있는 좋은 도구인 것 같습니다.
그럼 좋은 하루 되세요. ^^
www.slideshare.net/BillKim8/swift5-vs-objective-c
728x90
반응형
'CS(컴퓨터 과학) > Swift' 카테고리의 다른 글
[Swift] Types : Named(명명) Type과 Compound(복합) Type (0) | 2020.06.11 |
---|---|
[Swift] Method(메소드) : 인스턴스 메소드와 타입 메소드 (0) | 2020.06.11 |
[Swift] Class & Structure : 공통점과 차이점 (0) | 2020.06.11 |
[Swift] Properties(프로퍼티) : 개념과 사용 방법 (0) | 2020.06.11 |
[Swift] Swift5 vs Objective C : 문법적 차이 (0) | 2020.06.11 |
Comments