[swift] 연관값과 패턴 매칭 활용

안녕하세요! 이번 포스트에서는 Swift에서 연관값(enum)과 패턴 매칭을 어떻게 활용하는지 살펴보겠습니다.

연관값(enum)이란?

Swift에서 enum은 다른 언어와 달리 각 case마다 연관값을 가질 수 있습니다. 이는 해당 case에 특정한 값이 연결되어 사용될 수 있음을 의미합니다.

아래는 연관값을 가지는 enum의 간단한 예시입니다.

enum Furniture {
    case chair(Int)
    case table(String)
    case lamp
}

위의 Furniture enum은 chair case는 Int 타입의 연관값을, table case는 String 타입의 연관값을, lamp case는 연관값을 가지지 않는 것을 정의합니다.

연관값을 활용한 패턴 매칭

패턴 매칭은 enum의 각 case에 대해 연관값을 추출하고 이를 처리하는 강력한 도구입니다. 각 case에 따라 다른 동작을 쉽게 구현할 수 있습니다.

아래는 Furniture enum과 패턴 매칭을 활용한 예시입니다.

let pieceOfFurniture = Furniture.chair(4)

switch pieceOfFurniture {
case .chair(let numberOfLegs):
    print("This is a chair with \(numberOfLegs) legs")
case .table(let material):
    print("This is a table made of \(material)")
case .lamp:
    print("This is a lamp")
}

위의 예시에서는 switch 문을 사용하여 pieceOfFurniture의 case에 따라 다른 동작을 수행하고 있습니다. chair case의 연관값을 추출하여 다른 동작을 수행합니다.

끝으로

Swift의 enum과 패턴 매칭은 코드를 간결하고 가독성 있게 만들어주는 강력한 기능입니다. 이를 통해 유형 안전성을 유지하고 모든 경우를 다루는 코드를 작성할 수 있습니다.

더 많은 예시와 정보는 Swift 공식 문서에서 확인하실 수 있습니다.

이상으로 연관값과 패턴 매칭 활용에 대해 알아보았습니다. 감사합니다!