Pop
-
Swift4: Protocol Oriented Programming - 5.객체지향 프로그래밍POP 2021. 2. 16. 19:53
5장 객체지향 프로그래밍 객체는 객체의 속성 정보인 프로퍼티와 객체가 수행하는 행위의 정보인 메소드를 포함한 자료 구조이다. 요구사항 설계 이동수단은 해상/지상/공중 세 개의 범주를 갖고 여러 범주의 멤버가 될 수 있다. 자신이 속해 있는 범주와 일치하는 타일에 있으면 이동 또는 공격 할 수 있다. 자신이 속해 있는 범주와 일치하는 타일에 있지 않으면 이동 또는 공격할 수 없다. 체력이 0이 되면 움직이지 못하는 상태로 간주한다. 순회가 가능한 단일 배열에 활동 가능한 모든 이동수단을 가지고 있어야 한다. 객체지향 프로그래밍 언어의 스위프트 스위프트는 객체지향 방식의 언어로 사용될 수 있다. class Vehicle { var vehicleTypes = [TerrainType]() var vehicleA..
-
210215 TIL: POP-4.Generic, lhs/rhs, declaration orderTIL 2021. 2. 15. 23:40
POP https://welly-log.tistory.com/11?category=920557 Swift4: Protocol Oriented Programming - 4.제네릭 4장 제네릭 제네릭은 중복을 피하고, 유연하고 재사용 가능한 코드를 작성할 수 있게 해준다. 스위프트의 Array나 Set 같은 경우 모두 제너릭 구조체로 구현되어 있다. enum Optional { case None case Some(T) welly-log.tistory.com lhs와 rhs에 대한 흥미로운 글 나에겐 너무나 멋진사람들 : 네이버 블로그 lhs 와 rhs 연산자 함수를 만들 경우 함수의 매개변수를 적어줄때 변수 이름으로 lhs(Left Hand Side) 와 rhs(Righ... blog.naver.com lh..
-
Swift4: Protocol Oriented Programming - 4.제네릭POP 2021. 2. 15. 23:36
4장 제네릭 제네릭은 중복을 피하고, 유연하고 재사용 가능한 코드를 작성할 수 있게 해준다. 스위프트의 Array나 Set 같은 경우 모두 제너릭 구조체로 구현되어 있다. enum Optional { case None case Some(T) } 제네릭의 대표적 예시는 옵셔널이다. 옵셔널에 nil을 대입하면 None 값을 갖고, 어떠한 값을 대입하면 T 타입의 Some 값을 갖게 된다. 제네릭 함수 제네릭 함수를 이용하여 타입 마다 같은 기능을 하는 함수를 계속해서 만들 필요 없이, 중복을 최소화하여 구현할 수 있다. func swapGenerics(a: inout T, b: inout T) { let tmp = a a = b b = tmp } 위에서 T는 플레이스홀더로 스위프트에게 타입을 런타임 단계에서..
-
Swift4: Protocol Oriented Programming - 3.확장POP 2021. 2. 15. 01:18
3장 확장 확장 확장은 이미 존재하는 타입의 소스 코드가 없더라도 기능을 추가할 수 있게 해준다. 확장으로 추가할 수 있는 것들 연산 프로퍼티 인스턴스/타입 메소드 Convenience Initializer 서브스크립트 저장 프로퍼티는 추가할 수 없음! extension String { func getFirstChar() -> Character? { guard count > 0 else { return nil } return self[startIndex] } subscript(r: CountableClosedRange) -> String { get { let start = index(self.startIndex, offsetBy: r.lowerBound) let end = index(self.startI..
-
210214 TIL: POP-3: extension, subscript, overload/overrideTIL 2021. 2. 14. 23:27
POP https://welly-log.tistory.com/10?category=920557 Swift4: Protocol Oriented Programming - 3.확장 3장 확장 확장 확장은 이미 존재하는 타입의 소스 코드가 없더라도 기능을 추가할 수 있게 해준다. 확장으로 추가할 수 있는 것들 연산 프로퍼티 인스턴스/타입 메소드 Convenience Initializer 서브스 welly-log.tistory.com Subscript 서브스크립트 (Subscripts) 서브스크립트 (Subscripts) jusung.gitbook.io 콜렉션, 리스트, 시퀀스 등 집합의 특정 멤버 요소에 간단하게 접근할 수 있는 문법. 하나의 타입에 여러 서브스크립트를 정의할 수 있고, 오버로드가 가능. 배열에..
-
Swift4: Protocol Oriented Programming - 2.타입 선택POP 2021. 2. 14. 03:19
2장 타입 선택 타입 Swift에서 타입은 이름 있는 타입과 복합 타입으로 나뉜다. 이름 있는 타입은 클래스, 구조체, 열거형, 프로토콜 등이 있으며, 원시 타입이라 불리는 스위프트 표준 데이터 타입들은 모두 이름 있는 타입이다. 복합 타입은 타입을 정의할 때 이름을 부여하지 않은 타입을 말하며, 함수 타입과 튜플 등이 있다. typealias 를 이용하여 복합 타입에 별칭을 붙여 호출할 수도 있다. 또한, 참조 타입과 값 타입으로도 타입을 나눌 수 있다. 참조 타입 인스턴스를 전달하는 것은 원본 인스턴스의 참조를 전달하는 것으로, 두 참조가 같은 인스턴스를 공유한다는 뜻이다. : 클래스 값 타입 인스턴스를 전달할 때에는 인스턴스의 새로운 복사본을 전달하며, 각 인스턴스가 유일한 사본의 의미를 가진다. ..
-
210213 TIL: POP-2: type, 함수/메소드TIL 2021. 2. 13. 23:38
POP https://welly-log.tistory.com/8 Swift4: Protocol Oriented Programming - 2.타입 선택 2장 타입 선택 타입 Swift에서 타입은 이름 있는 타입과 복합 타입으로 나뉜다. 이름 있는 타입은 클래스, 구조체, 열거형, 프로토콜 등이 있으며, 원시 타입이라 불리는 스위프트 표준 데이터 타 welly-log.tistory.com Swift4: Protocol Oriented Programming - 2장 타입 선택 내용 정리 함수 vs 메소드 함수(Function) VS 메소드(Method) 함수(Function) VS 메소드(Method) 안녕하세요 :) Zedd입니다. 갑자기 Swift에서 함수와 메소드의 명칭..? 언제 함수라고 불러야하고 메..
-
210212 TIL: POP, type, Xcode tipTIL 2021. 2. 12. 23:55
POP https://welly-log.tistory.com/5 Swift4: Protocol Oriented Programming - 1.프로토콜 시작 1장 프로토콜 시작 프로토콜(protocol) 프로토콜은 작업을 수행하기 위해 타입에서 필요로 하는 메소드, 프로퍼티 그리고 다른 요구사항을 정의하는 계약의 역할을 한다. 프로토콜 요구 사항 프로 welly-log.tistory.com Swift4: Protocol Oriented Programming - 1장 프로토콜 시작 내용 정리 타입 Swift에서 타입은 이름 있는 타입과 복합 타입으로 나뉜다. 이름 있는 타입은 클래스, 구조체, 열거형, 프로토콜 등이 있으며, 원시 타입이라 불리는 스위프트 표준 데이터 타입들은 모두 이름 있는 타입이다. 복합 ..