#.1 Swift?? Objective-C?? 차이?? (swift)
Swift 란?
맨 처음 iOS 를 공부 하기 시작 하자 마다 Objective-C 그리고 Swift 이 두단어를 듣게 되었다.
그래서 두개 에 대한 아무런 정보가 없던 나는 인터넷 을 뒤지고 , 책을 찾으면서 기존에는 어플리케이션 을 Objective-C 로
작성하던것이 iOS 8 로 넘어 오면서 Swift 라는 언어가 나오면서 요즘 에는 Swift 를 더 많이 쓰게 된것이라고 알게 되었다.
즉 둘다 프로그래밍 언어 고 기존에는 Objective-C 이용했지만 최근 들어와서는 Swift 를 많이 쓰는 추세이다.
그렇다면 기존의 Objective-C 와 Swift 의 차이점은 무엇인가?
- 타입 추정이 가능 제공 되어진다는 것이다.
기존의 Objective-C 는 C 와 비슷하게 모든 변수에 형태를 지정 해주어야 했지만
스위프트는 그러한것 없이 값을 넣어 주면 그 값에 따라서 변수의 형태를 컴파일러 에서 인식 할수 있다.
보시다시피 위 에는 형태를 정해 주었지만 (뒤에 ? 는 optional 이라는 것으로 향후 설명 하겠다.)
밑에 sentence 변수는 형태 지정 없이 바로 값을 넣어 주어도 아무런 문제가 없다.
- 문자열 연산이 매우 편해 졌습니다.
기존의 씨 에서는 문자열 이라는 개념 없이 그저 배열이나 그러한것들을 이용 해야 했다는 불편함이 있지만
스위프트 에서는 다른 스크립트 언어들 처럼 연산자들( += , == ) 같은 것으로 문자열을 연산 할수 있게 되었습니다.
밑에 사진 처럼 단순한 == 으로 두 문자열에 대해서 일치 하는지 알수 가 있다.
- switch 문
오브젝트 씨 에서는 if 문을 통한 control flow 가 가능 했고 switch 문을 지원 해주지 않았지만 스위프트
로 넘어가면서 switch 문을 지원 해주게 되었고 그 에 따라서 복잡하게 if 문을 적어주지 않아도 되는 편리함
이 생겼습니다.
스위프트 에서 break 문이 없어서도 우리가 다른 언어에서 발생했던 fallthrough 가 발생하지 않아서
break 에 대해서 표기 해줄 필요가 없다.
- Generic type 제공
어떠한 요소 에 대해서 한가지 종류가 아닌 다양한 종류의 형태를 제공해주는 것을 Generic 이라고 하는데
스위프트 에서는 이러한 것을 제공 해주고 있다.
ex)
이렇게 나오는 값에 대하여 String 같이 문자열을 제공 하지 않고 Any 로 해 둔다면 반환하는 값이 변한다고 해도 동작 한다.
다른 언어 (JAVA 나 C ) 를 배워 봐서 조금은 친숙했지만 여전히 배워야 할 파트가 많다고 느꼈습니다. 또 이러한 것은 swift 문법적인 면에서만 본것이고 앱을 만드는데 있어서 view 적인 측면을 무시 할수 없기 때문에 그러한 파트에 대해서도 차후 더 많은 공부가 선행 되야 할거 같다.




댓글
댓글 쓰기