인스턴스란?
클래스에서 생성된 객체를 말한다. 정의된 클래스를 실제로 사용하는 것을 인스턴스라고 보면된다.
실제로 메모리에 할당되어 동작할 수 있는 모양을 갖춘것!
클래스(Class)
- 같은 종류(또는 문제 해결을 위한)의 집단에 속하는 속성과 행위를 정의한 것
- 객체 지향 프로그램의 기본 사용자 정의 타입이라고 할 수 있다.
- 클래스는 다른 클래스 또는 외부 요소와 독립적으로 디자인 되어야 한다.
객체(Object)
- 클래스의 인스턴스
- 객체는 자신 고유의 속성이 있으며 클래스에서 정의한 행위를 할 수 있다.
- 스위프트에서는 객체라는 용어보다 “클래스의 인스턴스” 라는 표현을 사용한다.
객체(Object) VS 인스턴스(Instance)
- 클래스의 타입으로 선언되었을 때 객체라고 부르고, 그 객체가 메모리에 할당되어 실제 사용될 때 인스턴스라고 부른다.
- 객체는 현실 세계에 가깝고, 인스턴스는 소프트웨어 세계에 가깝다.
- 객체는 ‘실체’, 인스턴스는 ‘관계’에 초점을 맞춘다.
- 객체를 ‘클래스의 인스턴스’라고도 부른다.
- ‘방금 인스턴스화하여 레퍼런스를 할당한’ 객체를 인스턴스라고 말하지만, 이는 원본(추상적인 개념)으로부터 생성되었다는 것에 의미를 부여하는 것일 뿐 엄격하게 객체와 인스턴스를 나누긴 어렵다.