클래스
- 청사진(Blueprint) 개념
- 대문자, 명사로 작성한다
- 일반적인 함수를 만들 때에는 동사를 활용하고 소문자로 작성하면 좋다.
- ES6에서는 class라는 키워드를 사용하여 정의할 수 있다.
- 생성자(constructor)는 return값을 만들지 않는다.
- 생성자 : 인스턴스가 초기화 될 때 실행하는 함수
class Car {
// 인스턴스가 만들어 질 때 실행되는 코드(생성자)
constructor(brand, name, color) {
}
}
class Car {
// 인스턴스가 만들어 질 때 실행되는 코드(생성자)
constructor(brand, name, color) {
this.brand = brand;
this.name = name;
this.color = color;
}
}
- 메서드의 정의
- ES5에서는 prototype 키워드를 사용하여 정의하였지만 ES6에서는 생성자와 함께 class안에 작성
class Car {
// 인스턴스가 만들어 질 때 실행되는 코드(생성자)
constructor(brand, name, color) {
// 생략
}
// drive 메서드 정의
drive() {
}
}
인스턴스
- new 키워드를 사용하여 생성한다.
- 각각의 인스턴스는 클래스의 고유한 속성과 메서드를 갖는다.
let avante = new Car('hyundai', 'avante', 'black');
let avante = new Car('hyundai', 'avante', 'black');
avante.drive();
avante.color;
this
- 인스턴스 객체(인스턴스)를 의미한다.
- 만들어진 인스턴스에 해당 값을 부여한다는 것을 의미한다.
추상화 vs 캡슐화