Swift
-
제네릭Swift 2020. 12. 13. 16:54
안녕하세요. 그린입니다! 이번 포스팅에서는 제네릭에 대해 알아보겠습니다. 제네릭은 스위프트 언어로 사용 할 수 있는 아주 중요한 기능입니다..!! 제네릭을 이용하면 코드의 중복을 줄여주고 구현한 기능/타입을 재사용할 수 있습니다 (한번만 구현하면 됩니다~!!) 1. 제네릭 선언 및 사용 -. 메서드 이름 뒤 () 기호를 붙여 표시 -> func generic (value: T) -> T { } func ++ (frontNumber: T, backNumber: T) -> T { return frontNumber + backNumber } * BinaryInteger 프로토콜로 타입을 좀 더 명확히 주어 정수 타입 모두 해당 될 수 있도록 설정 2. 제네릭 함수 -. 함수 메서드를 제네릭으로 선언하면 위에서..
-
프로토콜/구조체/클래스에 관하여Swift 2020. 11. 23. 17:27
안녕하세요. 그린입니다! 이번 포스팅에서는 제가 학습하며 나름대로 간단하게 헷갈리는 부분을 정리한것을 공유하겠습니다. 바로 프로토콜/구조체/클래스에 관하여 이야기를 해볼까 합니다..! 스위프트를 처음 접하며 공부하다보니 왜 다른 언어와 달리 프로토콜 지향이며 구조체가 중요한지 궁금했습니다. 아직 명확하게 해답을 찾은건 아니지만 어느정도 정리된 부분을 기재하였으니 만약 다른 사항이거나 의견이 있으시면 댓글 달아주시면 감사하겠습니다 :-) 1. 프로토콜 : 어떤 기능을 실행하기 위해 프로퍼티와 메서드 그리고 다른 기능들의 틀이다. 우선 스위프트는 객체 지향이면서 프로토콜 지향 언어이기도 하다. 스위프트의 대부분은 기본 타입이 구조체로 구현되어있다. 클래스는 상속을 받아 구현되지만 구조체는 상속이 되지 않는데..
-
접근레벨 및 이니셜라이저 관련Swift 2020. 11. 19. 15:36
안녕하세요. 그린입니다! 이번 포스팅에서는 현재 학습하다가 생각난점을 정리해보도록 하겠습니다. 제 생각을 정리한 부분으로 다소 다르거나 맞지 않을 수 있으니 그런점 있으시면 알려주세요~!! 1. 접근레벨 swift에서는 기본적으로 5가지의 접근레벨이 있습니다. 1) private : 가장 제한적으로 접근할 수 있는 범위는 해당 정의된 메서드 내에서 가능합니다. 즉 해당 중괄호 안에서만 접근할 수 있습니다. 2) fileprivate : private 다음으로 제한적이지만 해당 스위프트 파일에서만 접근이 가능합니다. 3) internal : 기본적인 접근레벨로 접근레벨을 앞에 붙여서 설정하지 않고 생략한다면 다 internal입니다. 내부 소스파일에서 접근 가능합니다. 4) public : 외부모듈에서도 ..
-
객체지향 프로그래밍 패러다임Swift 2020. 11. 8. 15:21
안녕하세요. 그린입니다! 이번 포스팅에서는 Swift 뿐 아니라 다른 객체지향 프로그래밍을 따르는 언어와 공통된 특성에 대해 이야기해보려합니다. 바로 객체지향 프로그래밍 패러다임인데요. 객체지향 프로그래밍 (Object Oriented Programming, OOP)는 컴퓨터 프로그래밍 언어를 공부하셨던 분들이라면 다들 들어봤겠죠?? 간단히 설명하면 프로그램을 단순한 명령들을 실행하는것에서 나아가 모든것을 객체들로 보고, 그 객체들의 모임으로 파악하여 상호작용을 하며 기능을 구현하는것을 말합니다. 이 객체지향 프로그래밍은 초기 프로그램을 통해 계산 같은 간단한것에서 발전하여 많은것 즉, 삶에 모든것을 객체로 보고 해결하고자하는 시각에서 발전되온것입니다. 패러다임이 뭘까요? 패러다임은 직역 그대로 시각,관..
-
랜덤함수Swift 2020. 11. 4. 15:35
안녕하세요. 그린입니다! 이번 포스팅에서는 짧게나마 랜덤함수에 대해 포스팅을 하겠습니다. 제가 랜덤함수를 찾아보고 학습하게된 계기는 제 블로그의 Swift > 개발 메뉴에서 확인할 수 있듯이 묵찌빠 게임을 프로그래밍하는 도중 컴퓨터의 묵찌빠를 랜덤하게 받아와야하는 일이 생겼습니다. 이에 차근차근 스위프트 문법을 학습하던 저는 우선 구글링을 통해 스위프트에서 랜덤함수 사용에 대해 학습을 해봤습니다. 자 그럼 스위프트에서 랜덤함수를 정의하고 원하는 조건에 맞게 랜덤값을 도출해내는 과정을 같이 진행해보시죠~! 스위프트 4.2 버전 이후 부터 모든 정수와 실수 타입은 자체적인 랜덤함수를 제공해주도록 업데이트 되었습니다! 그래서 이 포스팅에서는 4.2버전 이후와 이전으로 둘 다 알아보겠습니다~!! [Swift 4..
-
구조체와 클래스Swift 2020. 11. 4. 09:45
안녕하세요. 그린입니다! 이번 포스팅에서는 스위프트의 객체지향 프로그래밍 성격에 대해 알아보겠습니다. 그 중 대표적인 구조체와 클래스에 대해 심층 학습을 해볼 예정입니다..! 말만 들어도 벌써 프로그래밍을 처음 접한 분들은 낯설게 느껴지는 경향이 있는 파트들입니다. 이전 포스팅까지의 기초들은 그래도 그럭저럭 이해하며 넘어갈 수 있는 부분이 많았는데 이번 포스팅부터는 조금 더 심오한 개념들이 나오니 집중해서 같이 학습해봐요^^ 우선, 구조체와 클래스는 데이터를 용도에 맞게 묶어 표현하고자 할 때 유용합니다. 프로퍼티와 메서드를 사용하여 구조화된 데이터 및 기능을 가집니다. 즉 하나의 새로운 사용자 정의 데이터 타입을 만들어 주는것 입니다. 이제까지의 포스팅에서 알아본 데이터 타입과 열거형은 모두 값 타입이..
-
옵셔널Swift 2020. 11. 3. 11:55
안녕하세요. 그린입니다! 이번 포스팅에서는 스위프트의 특징 중 하나인 안정성을 문법으로 담보하는 기능인 옵셔널에 대해 알아보겠습니다. 기존 C언어나 Objective-C에서는 없었던 콘셉트로 스위프트에서 배워보실 수 있습니다~! 옵셔널 : '선택적인' , '값이 있을수도, 없을수도'를 나타내며 변수나 상수에 꼭 값이 있다고 보장할 수 없음을 의미합니다. 즉 값이 nil(NULL)일 수도 있는걸 의미합니다. 1. 옵셔널 사용 옵셔널 변수 또는 상수가 아니면 nil을 할당할 수 없습니다. 값이 없는 옵셔널 변수 또는 상수에 강제로 접근하려면 런타임 오류가 발생됨. nil은 옵셔널로 선언된 곳에서만 사용할 수 있습니다. -. 선언방법 : 데이터 타입 뒤 물음표(?) 표시 -. 옵셔널 사용 상황 : 매개변수에 ..
-
특수 기호와 문자 읽는법Swift 2020. 11. 2. 19:01
안녕하세요. 그린입니다! 이번 포스팅에서는 특수 기호와 문자 읽는법에 대해 알려드리겠습니다. 어떻게 보면 페어 프로그래밍을 하면서 서로 소통에 가장 중요한 부분입니다. 특수기호 영문 한글 : Colon 콜론 ; Semicolon 세미콜론 / Slash 슬래시 \ Back Slash 백슬래시 @ At Sigh 엣 사인 or 엣 & Ampersand 앤퍼센드 ' Aposterophe 어퍼스트로피 ` Grave 그레이브 - Hyphen 하이픈 Right Angle Braket 라이트 앵글 브라킷 { Left Brace 레프트 브레이스 } Right Brace 라이트 브레이스 [ Left Braket 레프트 브라킷 ] Right Braket 라이트 브라킷 | Vertical Bar, Pipe 버티컬 바, 파이프..