객체지향 Javascript

이재진·2020년 9월 18일
0

객체 지향 프로그래밍

  • 하나의 모델이 되는 청사진 (class)을 만들고 그 청사진을 바탕으로 한 객체 (instance)를 만드는 프로그래밍 패턴

ES5 클래스는 함수로 정의할 수 있습니다.

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

ES6 에서는 class라는 키워드를 이용해서 정의할 수도 있습니다.

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

클래스를 만들떄는 항상 첫 글자를 대문자로 만든다.

new 키워드를 통해 클래스의 인스턴스를 만든다.

let avante = new Car('hyundai', 'avante', black');
let mini = new Car('bmw', 'mini', 'white');                     

각각의 인스턴스는 Car라는 클래스의 고유한 속성과 메소드를 갖는다.

클래스 : 속성의 정의

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

클래스 : 메소드의 정의

function Car(brand, name, color) {
  Car.prototype.refuel = function() {
    //연료 공급을 구현하는 코드
  Car.prototype.drive = function() {
    //운전을 구현하는 코드
  }
  }

prototype : 원형객체
constructor : 인스턴스가 초기화 될 때 실행하는 생성자 함수
this : 함수가 실행 될 때, 해당 scope마다 생성되는 고유한 실행 context (execution context)
new 키워드로 인스턴스를 생성했을 때에는, 해당 인스턴스가 바로 this가 됨.

profile
개발블로그

0개의 댓글