Suyeon9911 / TIL

매일 오전에 적는 미라클 TIL 🥣
11 stars 0 forks source link

[Swift] Swift 언어의 특성 #42

Closed Suyeon9911 closed 2 years ago

Suyeon9911 commented 2 years ago

Swift

기본으로 돌아와서 제가 인턴 면접 볼때 스위프트랑 옵젝씨의 차이점 + 스위프트의 언어적 특성에 대해서 질문을 받았던 적이 있습니다. 그때 어찌저찌 뇌피셜로 대답을 하긴 했지만, 한번 더 정리하고 넘어가면 좋을 듯 싶네요. 당시 iOS개발을 주로 하고 있다 하니 스위프트에 대해서 물어보셨는데, iOS 면접에서는 이것보단 더 높은 레벨의 질문을 하시겠죠..

하지만 기본도 모르는 감자기 때문에 저는 오늘도 정리를 합니다...

스위프트의 역사에 대해서 설명하는 페이지만 슥 읽어봐도 내가 모르는게 너무 많다.. 오버플로 연산자...? 그리고 버전대응하는 코드도 거의 안써봤구,,ㅜㅜ 맨날 최신으로 맞춰놓고 편하게 하려고 ㅎ.. 반성.. 근데 역사를 쭉 그냥 책읽듯이 읽었는데 되게 재밌다.

Swift 의 언어적 특성

다중 패러다임 프로그래밍 언어

객체지향 프로그래밍 패러다임

클래스

=> 클래스의 이니셜라이저를 통해 메모리에 할당되고 초기화한 객체를 우리는 인스턴스라고 부름 ! 인스턴스 프로퍼티에 값을 할당할 수도 있고 값을 가져올 수도 있다 ! 인스턴스으 ㅣ메서드를 호출하여 작업을 수행하도록 할 수 있다 !

함수형 프로그래밍 패러다임

Suyeon9911 commented 2 years ago

일급 객체의 조건

Suyeon9911 commented 2 years ago

스위프트의 함수는 이조건을 모두 충족할 수 있기에 함수를 일급객체로 취급 ! .

예시코드로 느꼈던 점은 내가 짠 코드들은 함수형 프로그래밍이 아니라 명령형 같이 짜고 있었네...? 라고 생각하긴했다.. 아직 잘은 모르지만..

스위프트가 함수형 프로그래밍 패러다임을 차용한 의의가 무엇일까??

애플의 프레임워크 대부부은 객체지향 기반으로 설계된 수많은 클래스ㄷ로 구성됨. -> 당연히 객체지향을따름

순수하게 함수형프로그래밍으로 작성하면 머가좋은가요 ?

Suyeon9911 commented 2 years ago

프로토콜 지향