- 객체: 실생활에서 쓰는 모든 것
하나의 모델이 되는 청사진을 만들고, 👉 "class"
그 청사진을 바탕으로 한 객체를 만드는 👉 "instance"
프로그래밍 패턴 👉 객체 지향 프로그래밍
function Car(brand, name, color){
// 인스턴스가 만들어졌을 때 실행되는 코드
}
class Car{ // class 키워드를 통해 생성
constructor(brand, name, color){ // 생성자 함수라고 부른다.
// 인스턴스가 만들어졌을 때 실행되는 코드
}
}
< new 키워드 >
let avante = new Car('hyundai', 'avante', 'black');
let mini = new Car('bmw', 'mini', 'white');
let beetles = new Car('volkswagen', 'beetles', 'red');
// new 키워드를 사용하여 객체를 만들면, 즉시 생성자 함수가 실행이 돼 새로운 객체 인스턴스가 할당
function Car(brand, name, color){
this.brand = brand;
this.name = name;
this.color = color;
}
class Car{ // class 키워드를 통해 생성
constructor(brand, name, color){ // 생성자 함수라고 부른다.
this.brand = brand;
this.name = name;
this.color = color;
}
}
function Car(brand, name, color){
this.brand = brand;
this.name = name;
this.color = color;
Car.prototype.refuel = function(){
// 연료 공급을 구현하는 코드
}
Car.prototype.drive = function(){
// 운전을 구현하는 코드
}
}
class Car{ // class 키워드를 통해 생성
constructor(brand, name, color){ // 생성자 함수라고 부른다.
this.brand = brand;
this.name = name;
this.color = color;
}
refuel(){
// 연료 공급을 구현하는 코드
}
drive(){
// 운전을 구현하는 코드
}
}
+
prototype: 모델의 청사진을 만들 때 쓰는 원형 객체
+
constructor: 인스턴스가 초기화 될 때 실행하는 생성자 함수
+
this: 함수가 실행될 때, 해당 scope마다 생성되는 고유한 실행 context / new 키워드로 인스턴스를 생성하면 해당 인스턴스가 this의 값이 된다.