Swift 언어를 배우면서 클래스, 구조체 및 열거형과 같은 형식에서의 인스턴스 메서드, 타입 메서드, 서브스크립트의 중요성을 살펴볼 것입니다. 이러한 요소들은 코드를 효율적으로 작성하고 구조화하는 데 큰 도움이 됩니다.
인스턴스 메서드는 특정 클래스, 구조체, 또는 열거형의 인스턴스에 연관된 함수입니다. 이 메서드는 해당 인스턴스의 속성에 액세스하거나 값을 변경할 수 있습니다.
class Dog {
var name: String
init(name: String) {
self.name = name
}
func bark() {
print("\(name) is barking!")
}
}
let myDog = Dog(name: "Max")
myDog.bark() // 출력: Max is barking!
예제: 여기서 bark() 메서드는 Dog 클래스의 인스턴스 메서드로 동작합니다.
타입 메서드는 인스턴스가 아니라 특정 형식(클래스, 구조체, 열거형) 자체에 연관된 함수입니다. 클래스에서는 class 키워드를 사용하며, 구조체와 열거형에서는 static 키워드를 사용합니다.
class Math {
class func square(of number: Int) -> Int {
return number * number
}
}
let squaredValue = Math.square(of: 4) // 출력: 16
예제: 위의 square(of:) 메서드는 Math 클래스의 타입 메서드로 동작합니다.
서브스크립트는 특정 인스턴스의 내부 값을 쉽게 접근하고 수정하는 방법을 제공합니다. 이는 배열의 인덱싱이나 딕셔너리의 키 접근과 같은 방식으로 동작합니다.
struct TimesTable {
let multiplier: Int
subscript(index: Int) -> Int {
return multiplier * index
}
}
let threeTimesTable = TimesTable(multiplier: 3)
print("6 times 3 is \(threeTimesTable[6])") // 출력: 6 times 3 is 18
예제: 위의 TimesTable 구조체는 서브스크립트를 통해 인덱스에 따른 값을 제공합니다.