객체라는 것은 메세지를 전달 받을 수 있는 대상을 말합니다. 강아지에게 "짖어"라고 한다면 강아지를 객체라고 할 수 있습니다.
swift에서는 객체가 될 수 있는 존재가 3가지가 있습니다. 바로, struct, class, enum 입니다. 참고로 objective-c에도 struct와 enum이 있지만 class 또는 class 인스턴스만 객체가 될 수 있고 struct와 enum은 객체가 될 수 없습니다. 이 사실은 Cocoa와 objective-C가 어떻게 서로 연동되어있는지를 파악할 때 상당히 중요합니다.
extension Int {
func hi() {
print("hi, I'm \(self)")
}
}
1.hi() // outputs: "hi, I'm 1"