갑자기 기본 개념이 흔들린다. 이럴 때는 부끄러워 하지말고, 다시 처음으로 돌아가자.
✅ 클래스class
객체를 만들기 위한 "설계도"
✅ 객체object
설계도 內 구현된 "속성"(프로퍼티)과 "기능"(메서드)
✅ 인스턴스instance
객체가 실체화되어 구체적으로 사용됨 (객체의 부분집합)
👉 메모리 Heap영역에 올라감
(설계도를 바로 메모리에 올리면 용량이 크기에, 생성자 함수를 호출한 후 메모리에 올림)
예시)
클래스와 객체 : 자동차 설계도와 자동차 속성과 기능 / 붕어빵 틀
인스턴스 : 실제 자동차 중 단 하나 (테슬라) / 붕어빵
✨즉, [클래스와 객체]를 통해 실제 세계를 추상화하여 "구현할 대상"을 만들어었다면,
이 설계도에 따라 소프트웨어 세계에서 직접 "구현된 실체"를 [인스턴스]라고 한다.
현업에서는 객체와 인스턴스를 혼용하여 사용하는 듯 하나, 때에 따라 구분해서 쓰면 더욱 프로다워 보이지 않을까.
예제) 마커 객체 만들기
📜reference
객체와 인스턴스의 차이