Toy Project/Swift Language Syntax

10. Swift Protocol

개발자킹콩 2021. 1. 21. 16:45

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