Method

Objective-C Swift
메소드만 정의할 수 있는 유일한 타입 클래스,구조체, 열거형을 정의를 선택할 수 있고, 생성된 타입의 메소드를 유연하게 정의
class Doughnut {
		func asmrSound() {
				print("Nam-Nam")
		}
}
asmrSound는 함수가 아니라 메소드라고 표현함

인스턴스 메서드 (Instance Methods)

class Doughnut {
		func asmrSound() {
				print("Nam-Nam")
		}
}

let doughnut: Doughnut = .init()
doughnut.asmrSound()

doughnut 인스턴스를 먼저 생성하고 그 이후 생성된 인스턴스를 호출함

호출 방법

class Music {
    func kPop() {
        print("awesome")
    }
}
let listen : Music = .init()
listen.kPop()
class Counter {
    var count = 0
    func increment() {
        count += 1
    }
    func increment(by amount: Int) {
        count += amount
    }
    func reset() {
        count = 0
    }
}

let counter = Counter()
// the initial counter value is 0
counter.increment()
// the counter's value is now 1
counter.increment(by: 5)
// the counter's value is now 6
counter.reset()
// the counter's value is now 0
class LevelClass {
   //현재 레벨을 저장하는 저장 프로퍼티
   var level: Int = 0 {
       //프로퍼티 값이 변경되면 호출하는 프로퍼티 감시자
       didSet {
           print("Level \\ (level)")
    }
}

//레벨이 올랐을 때 호출할 메서드
func levelup() {
     print("Level Up!")
     level += 1
}

//레벨이 감소했을 때 호출할 메서드
func levelDown () {
     print("Level Down")
     level -= 1
     if level < 0 {
        reset ()
    }
}

//특정 레벨로 이동할 때 호출할 메서드
func jumpLevel (to: Int) {
     print("Jump to \\ (to)")
     level = to
}
//레벨을 초기화할 때 호출할 메서드
func reset() {
     print("Reset!")
     level = 0
}
//호출방법 : 인스턴스 생성 후 호출

var levelClassInstance: LevelClass = LevelClass () // Level Up!
levelClassInstance.levelUp()             // Level Up!
// Level 1  
levelClassInstance.levelDown()           // Level Down
// Level 0 
levelClassInstance. levelDown ()         // Level Down
// Level -1
// Reset!
// Level o
levelClassInstance.jumpLevel(to: 3) // Jump to 3
// Level 3