본문 바로가기
Swift/기초

Swift 기초 다지기 - 열거형 (Enum)

by 박신혁 2024. 10. 6.

열거형 (Enum)

연관된 값들을 묶어서 관리할 수 있는 타입

 

// 열거형 정의 및 사용
enum Week {
    case monday
    case tuesday
    case wednesday
    case thursday
    case friday
    case saturday
    case sunday
}

let today: Week = .monday // monday

 

enum 키워드로 선언, 각 항목은 고유하며 요일 같은 일정한 값들을 정의할 때 유용하다.


열거형의 원시값 (Raw Value)

각 케이스는 미리 정의된 원시값을 가질 수 있다.

// 열거형의 원시값 (Raw Values)
enum Week: String {
    case monday = "월요일"
    case tuesday = "화요일"
    case wednesday = "수요일"
    case thursday = "목요일"
    case friday = "금요일"
    case saturday = "토요일"
    case sunday = "일요일"
}

let today = Week.monday.rawValue // 월요일

// rawValue가 "월요일" 인 케이스를 찾는 초기화, 해당 rawValue가 존재하지 않으면 nil 반환
let todayCase = Week(rawValue: "월요일") // monday

 

열거형의 연관값 (Associated Values)

각 케이스는 추가적인 연관값을 가질 수 있으며, 이를 이용해서 더 많은 정보를 부여할 수 있다.

// 열거형의 연관값 및 열거형 활용

// 열거형 FastFood
enum FastFood {
    case buger
    case pizza(size: String)
}

// 주문 함수
func order(food: FastFood) {
    switch food{
    case .buger:
        print("햄버거 주문")
    case .pizza(let size):
        print("피자 \(size) 사이즈 주문")
    }
}

// 사용
let orderPizza = FastFood.pizza(size: "라지")
order(food: orderPizza) // 피자 라지 사이즈 주문

 

 

728x90

댓글