Toy Project/Swift Language Syntax

12. Swift Method

개발자킹콩 2021. 1. 22. 00:19

function과 method의 차이: 
method는 instance에 귀속되어서 사용할 수 있는 것
function과 마찬가지로 기능을 수행하는 코드블록이다.
function과 다르게 Structure, Class안에서 동작하는 것

이번에는 Structure와 관련된 Method에 대해 알아보자



struct Lecture {
  var title: String
  var maxStudents: Int = 10
  var numOfRegistered: Int = 0
  
  // 강의의 남은 자리수 확인하는 함수
  func remainSeats() -> Int {
    return lec.maxStudents - lec.numOfRegistered 
  }

  // swift는 var 변수라도 함부로 값을 변경하면 안된다.
  // func register() {
  //   numOfRegistered += 1
  // }
  // Structure에서는 property의 값을 변경하는 경우 mutating라는 키워드를 이용해야 한다.
  mutating func register(){
    numOfRegistered += 1
  }

 

  //type property
  static var target: String = "Anybody want to learn something"

  //type method , lecture가 속한 학원이름을 반환하는 함수를 만들어보자
  static func 소속학원이름() -> String {
    return "fastcampus"
  }
}

 

 

var lec = Lecture(title: "IOS basic", maxStudents:10, numOfRegistered:0)
// var lec = Lecture(title: "IOS basic") // playground에서는 이렇게도 가능

print(lec.remainSeats())

lec.register()
print(lec.remainSeats())

print(Lecture.target)
print(Lecture.소속학원이름())

 

 

'Toy Project > Swift Language Syntax' 카테고리의 다른 글

14. Swift Class  (0) 2021.01.22
13. Swift Method extension  (0) 2021.01.22
11. Swift Property(속성)  (0) 2021.01.21
10. Swift Protocol  (0) 2021.01.21
9. Swift Structure practice  (0) 2021.01.21