
TIL 10일 차 - Swift 문법 중첩타입
중첩된 타입은 하나의 타입 안에 다른 타입을 정의하는 것을 의미함
struct User {
enum Role {
case admin
case guest
}
}
// Role이 User 안에 들어가 있음
let role: User.Role = .admin
// 접근방법: User 안에 있는 Role 타입의 admin
- 구조적으로 복잡한 클래스나 구조체등을 더 조직적으로 관리할 수 있음
- class, structure, enum등에서 사용할 수 있음
- 중첩된 타입을 사용하면 코드의 가독성을 높이고, 타입간의 연관성을 명확하게 할 수 있음
- 타입의 블록 안에서 다른 타입을 정의하고 사용하는 방식을 구현함
User.Role
User.Status
// 소속이 딱 보이고 코드 읽기 쉬움
중첩타입 활용 예시
struct Car {
struct Company { // Car 안에 중첩된 Company 구조체
var name: String
var phoneNumber: String
func contact() {
print("\(name) 회사의 번호는 \(phoneNumber)입니다. ")
}
}
enum Model {
case sedan
case hatchback
case suv
}
var model: Model
var company: Company
var name: String
var color: String
}
let myCar = Car(model: .sedan, company: Car.Company(name: "벤틀리", phoneNumber: "xxxx-xxxx"), name: "벤테이가", color: "pink")
myCar.company.contact() // myCar의 company 프로퍼티의 contact 함수를 실행함 '벤틀리 회사의 번호는 xxxx-xxxx입니다.' 출력
print(myCar.model) // myCar의 model 프로퍼티 출력함 (sedan)'iOS > Swift ' 카테고리의 다른 글
| [iOS-Swift] 타입캐스팅 (0) | 2026.01.09 |
|---|---|
| [iOS-Swift] 접근 제어자 (0) | 2026.01.08 |
| [iOS-Swift] enum 열거형 (0) | 2026.01.08 |
| [iOS-Swift] 프로토콜 (0) | 2026.01.08 |
| [iOS-Swift] 인스턴스 (0) | 2026.01.07 |