클래스와 인스턴스

Taehye.on·2023년 3월 15일
0

코드스테이츠 44기

목록 보기
28/89
post-thumbnail

D-22

🔍 클래스와 인스턴스

객체 지향 프로그래밍은 하나의 모델이 되는 청사진을 만들고 그 청사진을 바탕으로 한 객체를 만드는 프로그래밍 패턴이다.

이 때 청사진을 class라 부르고
청사진을 바탕으로 한 객체는 instance라 부른다.


🔍 생성자 함수

생성자 함수는 두가지 특징이 있다.

    1. 함수 이름의 첫 글자는 대문자로 시작한다.
    2. 반드시 `new` 연산자를 붙여 실행한다.

생성자 함수는 return값을 만들지 않는다.
반환할 것들은 모두 this에 저장되고 이 this는 자동으로 반환되기 때문에
return문을 사용할 필요가 없다.

클래스를 만드는 새로운 문법은 ES6에 도입되었다.

//ES5
function Car(brand, nane, color) {
	//인스턴스가 만들어질때 실행되는 코드
}
//ES6
class Car {
constructor(brand, name, color) {
	//인스턴스가 만들어질때 실행되는 코드
	}
}

📌 new 연산자

새로운 instance를 만드는 방법으로 new키워드를 사용한다.
new연산자가 실행되면 생성자 함수가 실행되며
변수에 클래스의 설계를 가진 instance가 할당된다.

new 연산자는 유사한 객체를 여러 개 만들어야 할 때 쓰인다.
new 연산자와 생성자 함수를 사용하면 유사한 객체 여러개를 쉽게 만들 수 있다.


📌 this 연산자

this는 instance객체를 의미한다. parameter로 온 이름은 생성시 지정하는 값,
this에 할당한다는 것은 만들어진 instance에 내 이름을 부여하는 의미로 해석된다.

//ES5
function Car(brand, name, color) {
	this.brand = brand;
	this.name = name;
	this.color = color;
}

//ES6
class Car {
	constructor (brand, name, color) {
		this.brand = brand;
		this.name = name;
		this.color = color;
	}
}

👨‍🏫 ES5 , ES6

주어진 ES5 방식을 ES6방식으로 바꿔보자

ES5

ES6

0개의 댓글