반응형
250x250
11-24 23:05
Today
Total
«   2024/11   »
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
Notice
Recent Posts
Recent Comments
Link
Archives
관리 메뉴

Bill Kim's Life...

[Swift] Swift5 vs Objective C : 개념적 차이 본문

CS(컴퓨터 과학)/Swift

[Swift] Swift5 vs Objective C : 개념적 차이

billnjoyce 2020. 6. 11. 11:11
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

 

Swift5 vs objective c

Swift5 와 Objective C와의 비교에 대한 강의 자료입니다.

www.slideshare.net

 

728x90
반응형
Comments