JavaScript - 객체지향 프로그래밍(클래스와 인스턴스)

프론트엔드 꿈나무·2022년 9월 21일

🤔 객체지향 프로그래밍 이란?

객체 지향 프로그래밍 (Object-Oriented Programming, OOP)은 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체로 만들고, 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다.

다시말해 하나의 청사진 즉 대표가되는 하나의 틀을 만들고 이 틀을 활용하여 객체(object)를 만드는 프로그래밍 패턴이다.

여기서 하나의 청사진 즉 틀이 되는모델을 class 라고 부르고 청사진을 활용하여 만들어진 객체를 instance 라고 부른다.또한 class를 사용하여 새로운 instance를 만들땐 new 키워드를 사용하여 만든다.

😋 Easy ex) class:음료수공장
instance:사이다,콜라,환타 등등 뭐든지될수있다.

🤔 class 와 instance

class 란 객체를 생성하기위한 틀이다.

#클래스 선언방식

class Beverage {
  constructor(name, price) {
    this.name = name;
    this.price = price;
  }
    choose(){
        return `${this.name}는 ${this.price}원 입니다.`
    }
}

🤔생성자(constructor)

클래스를 선언할때 constructor 라는것이 등장했다. 이를 생성자 라고 부른다.
생성자는 class로 인하여 생성된 객체를 생성하고 초기화 하기위한 특수한 메서드 이다.
클래스안에는 오로지 하나의 생성자만 존재가능하며 여러개의 생성자가 있을경우 에러가 발생한다.

🤔 this.

this는 인스턴스 객체를 의미합니다. parameter로 이름,가격 등은 인스턴스 생성 시 지정하는 값이며,
위와 같이 this에 할당한다는 것은 만들어진 인스턴스에 해당 브랜드, 이름, 색상을 부여하겠다는 의미입니다.

#인스턴스 생성
const cola = new Beverage('cola',1000);
cola.price
cola.choose()

🤔 new

인스턴스를 만들때 new 라는것을 선언하며 인스턴스를 생성하였다.
new를 사용하는 이유는 new 사용시 생성자 함수가 실행되며, 변수에 클래스의 설계를 가진 새로운 객체, 즉 인스턴스가 할당되기 때문이다.

🤔ES5 문법과 ES6 문법

ES5 문법

ES6 문법

ES6문법이 ES5보다 최근에 만들어졌기때문에 ES6문법을 더욱 많이 사용한다.

0개의 댓글