iOS 응용 (swift)
[iOS - swift] Non-nominal type 개념
jake-kim
2023. 10. 17. 01:59
Non-nominal type 개념
- Any를 확장하기 위해서 extension Any를 하게되면은 Non-nominal type이라는 컴파일 에러가 발생

- Non-nominal type이란 swift 내부적으로 struct, enum, class, protocol로 정의하지 않은 타입을 의미
- Array, Int, Double과 같은 타입들은 extension이 가능한데, 이것들은 Swift내부적으로 struct로 구현되어 있기 때문
- Optional도 마찬가지로 enum으로 정의되어 있기 때문에 extension이 가능
ex) Double은 내부적으로 struct로 구현되어 있음
@frozen public struct Double {
...
}
Non-nominal type 예시
- 함수 형태: (Int) -> String
- 튜플 형태: (Int, String)
- 프로토콜 and 조건: CustomStringConvertible & Error

* 참고
https://stackoverflow.com/questions/24131466/what-is-a-non-nominal-type-in-swift