Protocol: 규약, 약속
꼭 구현되어야하는 method나 Property(속성) 같은것들이다.
즉, 어떤 서비스를 이용할 때 반드시 필요한 것들이 있을 것인데,
프로토콜을 서비스에서 반드시 필요한 일, 요소들을 의미한다.
Integer 도 Structure로 구성되어 있다.
public struct Int : FixedWidthInteger, SignedInteger
여기서 FixedWidthInteger, SignedInteger 이 프로토콜이라는 놈들이다.
public protocol CustomStringConvertible {
public var description: String {get}
}
여기서 CustomStringConvertible이 protocol이라고 선언이 되면
내부에 있는 description이라는 것을 해줘야한다.
struct Lecture: CustomStringConvertible {
var description: String{
return "Title: \(name), Instructor: \(instructor)"
} // 이 Lecture를 설명하는 문자를 반환시키면 된다.
let lectureName: String
let lectureTeacher: String
let numOfStudent: Int
}
이렇게 구조체가 정의되어 있으면 구조체변수를 선언하고 print하게되면
description에서 반환되는 문자열이 알맞게 출력이 된다.
'Toy Project > Swift Language Syntax' 카테고리의 다른 글
12. Swift Method (0) | 2021.01.22 |
---|---|
11. Swift Property(속성) (0) | 2021.01.21 |
9. Swift Structure practice (0) | 2021.01.21 |
8. Swift Structure (0) | 2021.01.21 |
7. Swift Closure 조금더 (0) | 2021.01.21 |