enum MainDish{ case pasta(taste: String) case pizza(dough: String, topping: String) case chicken(withSauce: Bool) case rice } var breakfast: MainDish = .pizza(dough: "thin", topping: "meat") 튜플 안에서 let키워드 사용 사용하려는 모든 연관값에 let키워드를 붙여줘야 함 if case .pizza(let dough, let topping) = breakfast{ print("Yes! \(dough) and \(topping)") } // Yes! thin and meat 사용하려먼 연관값에 let키워드를 안붙여줬을때 에러 발생 if case .pizza(..
용어 정리 저장 프로퍼티 : 인스턴스의 변수 또는 상수 ( 클래스 , 구조체 ) 연산 프로퍼티(get, set) : 값을 저장한 것이 아니라 특정 연산을 실행한 결괏값 ( 클래스, 구조체, 열거형 ) 타입 프로퍼티 : 클래스 변수 프로퍼티 감시자 : 프로퍼티의 값이 변할 때 값의 변화에 따른 특정 작업을 수행함 저장 프로퍼티 구조체는 기본적으로 저장 프로퍼티를 매개변수로 갖는 이니셜라이저가 있음 클래스는 저장 프로퍼티의 초깃값을 지정해주지 않으면 사용자 정의 이니셜라이저를 정의해줘야 함 struct CoordinatePoint{ var x: Int // 초깃값을 지정해 줄 수도 있음 var y: Int } var myPoint: CoordinatePoint = CoordinatePoint(x: 10, y..
enum을 사용하는 이유 enum은 배열이나 딕셔너리와 다르게 정의해준 항목 값 외에는 추가/수정이 불가하기 때문에 다음과 같은 경우 사용 가능 제한된 선택지를 주고 싶을 때 정해진 값 외에는 입력받고 싶지 않을 때 예상된 입력 값이 한정되어 있을 때 기본 enum 선언 enum School{ case primary case elementary case middle } enum School{ case primary, elementary, middle } 원시 값을 가지는 enum enum School: String{ case primay = "유치원" case elementary = "초등학교" } enum School: String{ case primary = "유치원", elementary = "초등..