swift에서 객체(object)란 무엇인가

신용철·2020년 9월 17일
1

iOS_Swift

목록 보기
2/6

객체(object)란?

  • 객체라는 것은 메세지를 전달 받을 수 있는 대상을 말합니다. 강아지에게 "짖어"라고 한다면 강아지를 객체라고 할 수 있습니다.

  • swift에서는 객체가 될 수 있는 존재가 3가지가 있습니다. 바로, struct, class, enum 입니다. 참고로 objective-c에도 struct와 enum이 있지만 class 또는 class 인스턴스만 객체가 될 수 있고 struct와 enum은 객체가 될 수 없습니다. 이 사실은 Cocoa와 objective-C가 어떻게 서로 연동되어있는지를 파악할 때 상당히 중요합니다.

객체(object)에 메세지를 전달하는 방법

  • 객체에 메세지를 전달하는 방식은 "객체.메세지" 입니다. 객체에 .을 찍고 메세지를 입력하면 됩니다. 예를 들어 강아지에게 짖으라고 메세지를 전달할 때는 dog.bark() 와 같이 표현이 됩니다.

Int 1은 객체(object)일까?

  • swift에서 숫자 1은 인스턴스화 된 struct로 객체 입니다. 따라서, 아래와 같이 메세지 전달도 가능합니다.
extension Int { 
	func hi() { 
		print("hi, I'm \(self)") 
	} 
} 

1.hi() // outputs: "hi, I'm 1"

변수와 객체의 관계

  • variable은 객체의 이름입니다. 그 자체가 객체인 것이 아닙니다. 객체를 담는 상자라고 생각하면 되겠습니다. 기술적으로는 객체를 참조한다고 표현할 수 있습니다.
  • 정리하자면, 변수는 객체가 아니라 객체를 담는 그릇이고 객체는 변수의 value입니다.
profile
iOS developer

0개의 댓글