프로토콜지향프로그래밍
-
Swift4: Protocol Oriented Programming - 2.타입 선택POP 2021. 2. 14. 03:19
2장 타입 선택 타입 Swift에서 타입은 이름 있는 타입과 복합 타입으로 나뉜다. 이름 있는 타입은 클래스, 구조체, 열거형, 프로토콜 등이 있으며, 원시 타입이라 불리는 스위프트 표준 데이터 타입들은 모두 이름 있는 타입이다. 복합 타입은 타입을 정의할 때 이름을 부여하지 않은 타입을 말하며, 함수 타입과 튜플 등이 있다. typealias 를 이용하여 복합 타입에 별칭을 붙여 호출할 수도 있다. 또한, 참조 타입과 값 타입으로도 타입을 나눌 수 있다. 참조 타입 인스턴스를 전달하는 것은 원본 인스턴스의 참조를 전달하는 것으로, 두 참조가 같은 인스턴스를 공유한다는 뜻이다. : 클래스 값 타입 인스턴스를 전달할 때에는 인스턴스의 새로운 복사본을 전달하며, 각 인스턴스가 유일한 사본의 의미를 가진다. ..
-
Swift4: Protocol Oriented Programming - 1.프로토콜 시작POP 2021. 2. 12. 23:51
1장 프로토콜 시작 프로토콜(protocol) 프로토콜은 작업을 수행하기 위해 타입에서 필요로 하는 메소드, 프로퍼티 그리고 다른 요구사항을 정의하는 계약의 역할을 한다. 프로토콜 요구 사항 프로토콜에서 프로퍼티를 정의할 때에는 항상 get과 set 키워드로 프로퍼티가 읽기 전용인지 읽기 쓰기 프로퍼티인지 명시해줘야만 한다. 선택 가능한 요구사항 프로토콜 앞에 @objc 키워드를 붙여 선택 가능한 메소드나 프로퍼티를 프로토콜에 포함할 수 있다. 단, class만 해당 프로토콜을 채택 가능 프로퍼티나 메소드 앞에는 @objc optional 키워드를 붙인다 프로토콜 컴포지션 프로토콜 컴포지션은 class에서 단일 상속만 가능한 swift에서 객체의 요구사항을 구체적이고 중복없이 구현하도록 해준다. 깊이감 ..