[iOS][Swift] Methods - Instance, Type, Subscripts

Jay·2023년 8월 31일
0

iOS

목록 보기
32/47

Swift 언어를 배우면서 클래스, 구조체 및 열거형과 같은 형식에서의 인스턴스 메서드, 타입 메서드, 서브스크립트의 중요성을 살펴볼 것입니다. 이러한 요소들은 코드를 효율적으로 작성하고 구조화하는 데 큰 도움이 됩니다.

1. 인스턴스 메서드

인스턴스 메서드는 특정 클래스, 구조체, 또는 열거형의 인스턴스에 연관된 함수입니다. 이 메서드는 해당 인스턴스의 속성에 액세스하거나 값을 변경할 수 있습니다.

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 클래스의 인스턴스 메서드로 동작합니다.

2. 타입 메서드

타입 메서드는 인스턴스가 아니라 특정 형식(클래스, 구조체, 열거형) 자체에 연관된 함수입니다. 클래스에서는 class 키워드를 사용하며, 구조체와 열거형에서는 static 키워드를 사용합니다.

class Math {
    class func square(of number: Int) -> Int {
        return number * number
    }
}

let squaredValue = Math.square(of: 4) // 출력: 16

예제: 위의 square(of:) 메서드는 Math 클래스의 타입 메서드로 동작합니다.

3. 서브스크립트

서브스크립트는 특정 인스턴스의 내부 값을 쉽게 접근하고 수정하는 방법을 제공합니다. 이는 배열의 인덱싱이나 딕셔너리의 키 접근과 같은 방식으로 동작합니다.

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 구조체는 서브스크립트를 통해 인덱스에 따른 값을 제공합니다.

profile
Junior Developer

0개의 댓글