class 와 instance

김지수·2023년 3월 15일
0

객체지향 프로그래밍이란

하나의 모델이 되는 청사진(blue print)= class를 만들고 그 청사진은 객체(object)=instance를 만드는 프로그래밀 패턴이다.

class

ES5 : class는 함수로 정의 가능
function car(brand, name, color) { // 인스턴스가 만들어질 때 실행되는 코드
}
ES6 : class라는 키워드를 이용해서 정의 할 수도 있다
class Car {
constuctor(brand, name, color) {
// 인스턴스가 만들어질 때 실행되는 코드

최근에는 ES6 방법을 주로 사용함.
‣여기서 보이는 함수는, 객체지향프로그래밍에서 생성자 함수라고 부름
‣인스턴스가 만들어 질 때 실행되는 코드
‣생성자 함수는 return값을 만들지 않음

class중요❗️

class 함수를 정의할때 new 키워드를 사용해서 만든다 = 새로운 인스턴스를 만드는 방법
다른함수와 구분하기 위해선 class는 보통 대문자 로 시작한다

### class 속성과 메소드
// 속성의 정의
// **ES5 **
function car(brand, name, color)  { 
this.brand = brand;
this.name = name;
this.color = color;	
	}
    
// **ES6** 
class Car {
constuctor(brand, name, color) {
this.brand = brand;
this.name = name;
this.color = color;
	}
}

❗️this = 인스턴스 객체
this 에 할당한다는 것은 인스턴스에 브랜드, 이름, 색상을 부여 하겠다는 것

// 매소드의 정의
// **ES5 **
 function car(brand, name, color)  { /*생략*/ }
	Car.prototype.refuel = function(){
  연료 공급을 구현하는 코드
}
Car.prototype.drive = function(){
  운전을 구현하는 코드
	}

// **ES6** 
class Car {/*생략*/ }
 refuel(){
    연료 공급을 구현하는 코드
  }
  drive(){
    운전을 구현하는 코드
  }
}
profile
코린이

0개의 댓글