[swift] 인스턴스 메소드와 타입 메소드 구분

스위프트에서는 인스턴스 메소드타입 메소드를 구분하여 사용할 수 있습니다. 이 두 메소드의 차이점과 사용 예시에 대해 알아보겠습니다.

인스턴스 메소드

인스턴스 메소드는 특정 인스턴스(객체)에 속한 메소드로, 해당 타입의 각각의 인스턴스에 대해 서로 다른 동작을 수행할 수 있습니다.

class Car {
  var speed = 0
  func increaseSpeed(by amount: Int) {
    speed += amount
  }
}

let myCar = Car()
myCar.increaseSpeed(by: 10)  // 인스턴스 메소드 호출

타입 메소드

타입 메소드는 특정 타입 자체에서 호출되는 메소드입니다. 해당 타입과 관련된 작업을 수행할 때 사용됩니다.

class Math {
  static func add(_ num1: Int, _ num2: Int) -> Int {
    return num1 + num2
  }
}

let result = Math.add(5, 3)  // 타입 메소드 호출

따라서, 인스턴스 메소드는 인스턴스에 속한 동작을 정의하고 호출하며, 타입 메소드는 타입 자체에서 호출되며 해당 타입에 대한 작업을 수행합니다.

스위프트에서는 이 두 메소드를 구분하여 사용하므로, 각 메소드의 특징을 잘 숙지하는 것이 중요합니다.

참고 문헌: The Swift Programming Language - Methods