[swift] 열거형 정의 및 활용

Swift에서 열거형(Enums)은 연관된 값의 그룹을 만들고 관리하는 강력한 방법을 제공합니다. 열거형은 코드를 더 간결하고 유지보수하기 쉽게 만들어주며, 명명된 값들의 집합을 정의할 때 매우 유용합니다.

열거형 정의하기

다음은 간단한 열거형의 정의 예시입니다.

enum CompassPoint {
    case north
    case south
    case east
    case west
}

위 코드에서 CompassPoint 열거형은 north, south, east, west의 네 가지 case를 가지고 있습니다.

열거형 값 사용하기

이제 위에서 정의한 CompassPoint 열거형을 사용해보겠습니다.

var directionToHead = CompassPoint.north
directionToHead = .east

위 예제에서는 directionToHead 변수를 CompassPoint 열거형의 case로 설정하고, 이후에 다른 case로 값을 변경하는 예시를 보여줍니다.

연관 값과 메서드 추가하기

Swift에서는 열거형에 연관 값(associated values)을 추가하여 보다 유연하고 강력한 데이터 모델을 구성할 수 있습니다.

enum Barcode {
    case upc(Int, Int, Int, Int)
    case qrCode(String)
    
    func description() -> String {
        switch self {
        case .upc(let numberSystem, let manufacturer, let product, let check):
            return "UPC: \(numberSystem)-\(manufacturer)-\(product)-\(check)"
        case .qrCode(let productCode):
            return "QR code: \(productCode)"
        }
    }
}

var productBarcode = Barcode.upc(8, 85909, 51226, 3)
print(productBarcode.description()) // 출력: UPC: 8-85909-51226-3

위 코드에서는 Barcode 열거형에는 upcqrCode 두 개의 case가 있으며, 각 case는 연관 값과 메서드(description)를 가지고 있습니다.

이렇게 열거형은 Swift에서 강력하고 유연한 데이터 모델링을 위한 강력한 도구로 활용될 수 있습니다.

더 많은 정보는 Swift 공식 문서를 참고하세요.