swift
-
Swift - Hashable ProtocolProgramming/Swift 2022. 1. 16. 19:38
안녕하세요 BeePeach입니다 :) 오늘은 기본적인 Protocol 중에 마지막 Hashable 프로토콜에 대해서 공부해보려고 합니다. 여기서 Hash란 아주 간단하게 설명하자면 어떠한 값을 특정 알고리즘을 통해서 Integer값으로 변환시키는 것을 의미합니다. 변환 알고리즘에는 종류가 아주 많습니다! (심심하면 한번 찾아보셔도 좋습니다.. SHA가 유명합니다.) 위 그림은 문자열을 특정 알고리즘함수를 통해서 00 ~ 15까지 변환하는 작업을 표현했습니다. 그리고 2개의 값이 다른데 같은 hash값으로 변환된 문제를 그림으로 표현한 것입니다. (이를 collision이라고 합니다.) 암호화에 사용하고 어쩌구 저쩌구 이런 건 다 제쳐두고 간단하게 어떤 값을 Interger값으로 변환시키는거구나~ 라고만 ..
-
Swift - Comparable ProtocolProgramming/Swift 2022. 1. 15. 23:42
안녕하세요 BeePeach입니다 :> 오늘 공부해볼 내용은 지난 포스팅에 이어서 기본적인 Protocol 중에 하나인 Comparable 프로토콜입니다. Equatable과 마찬가지로 우리가 기본적인 Type들의 대소비교를 할 수 있던 것은 기본적으로 제공해주는 Type들이 Comparable을 채용하고 있었기 때문입니다. 그럼 같이 한번 공부해보도록 해요! Adopting a Protocol Using a Synthesized Implementation Comparable은 Equtable과는 조금 다른 부분이 있습니다. 두 값이 같다 다르다와 어느값이 더 크다 작다는 다른 문제입니다. 무엇을 기준으로 더 크거나 작다는것일까요?? 예시를 들어보겠습니다. A라는 사람은 키가 180cm이고 몸무게가 85k..
-
Swift - Initializer - Two Phase InitializationProgramming/Swift 2021. 12. 6. 16:02
안녕하세요 BeePeach입니다 :) 오늘은 Init이 어떻게 초기화되는지에 대해서 조금 더 자세히 공부해보려고 합니다. 처음 보면 어렵게 느껴지지만 사실 어려운 게 하나도 없답니다 :) 천천히 여러 번 읽으면 충분이 이해하실 수 있습니다!! Swift 컴파일러의 4가지 안정성 체크 Swift에서 class의 초기화는 총 2단계로 진행됩니다. 첫 번째 단계에서는 class에서 정의한 모든 stored property에 초기값이 할당됩니다. 모든 stored property의 초기값이 정의되었다면 두 번째 단계가 시작됩니다. 두 번째 단계에서는 인스턴스를 사용할 준비가 되기 전에 stored property들을 custom 할 수 있게 됩니다. Swift complier는 2단계 초기화가 에러 없이 성공하..
-
Swift - Swift 코드의 구성요소Programming/Swift 2020. 9. 15. 17:12
안녕하세요 BeePeach입니다 :) 오늘은 Swift 문법을 시작하기 전에 코드의 기본적인 구성요소들의 용어에 대해서 함께 공부해 보려고 합니다. TOKEN (토큰) 위에 간단한 코드를 봐주세요! 여기서 a를 쪼갤 수 있을까요? 더 작은 의미로 나눌 수 없습니다. 이렇게 a와 같이 의미를 가지며 코드를 구성하는 최소 단위를 Token(토큰)이라고 합니다. 그럼 나머지 token을 찾아보세요! +, b 이렇게 더 이상 나눌 수 없는 것들이 token입니다. token을 구분할때는 띄어쓰기(공백)로 구분하게 됩니다. Swift에서 공백은 spacebar, tab, return 키를 사용해서 입력하는 문자를 말합니다. var는 변수를 선언할 때 사용하는 Keyword입니다.(키워드에 대해선 뒤에서 배울게요...