객체 === 인스턴스
공부하면서 이런줄 알았다.
똑같은거 아닌가? 싶었지만 그렇다면 왜 객체와 인스턴스라는 단어를 따로 사용할까 생각해보았다.
클래스와 함께 알아보자.
class Car {
constructor(name, wheels) {
this.name = name;
this.wheels = wheels;
}
start() {
console.log("앞으로 이동합니다.")
}
}
Car
라는 클래스를 정의name
과 wheels
라는 프로퍼티를 가지고있다.start()
라는 메서드도 추가되어있다.const x5 = new Car("BMW", 4);
Car
라는 클래스를 통해 객체를 생성x5.start(); // 결과: 앞으로 이동합니다.
x5
는 Car
클래스로부터 생성된 인스턴스라고 할 수 있다.사실 이 글을 적으면서도 무슨말인지 잘 모르겠다...
쉽게 이야기해서클래스는 객체를 생성하기 위한 설계도
,객체는 클래스의 인스턴스
,인스턴스는 원본에서 재생성된 복제된 무언가
라고 생각하는게 맞을지도 모르겠다.