객체 지향 프로그래밍 (Object-Oriented Programming, OOP)은 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체로 만들고, 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다.
다시말해 하나의 청사진 즉 대표가되는 하나의 틀을 만들고 이 틀을 활용하여 객체(object)를 만드는 프로그래밍 패턴이다.
여기서 하나의 청사진 즉 틀이 되는모델을 class 라고 부르고 청사진을 활용하여 만들어진 객체를 instance 라고 부른다.또한 class를 사용하여 새로운 instance를 만들땐 new 키워드를 사용하여 만든다.
😋 Easy ex) class:음료수공장
instance:사이다,콜라,환타 등등 뭐든지될수있다.
class 란 객체를 생성하기위한 틀이다.
#클래스 선언방식
class Beverage {
constructor(name, price) {
this.name = name;
this.price = price;
}
choose(){
return `${this.name}는 ${this.price}원 입니다.`
}
}
클래스를 선언할때 constructor 라는것이 등장했다. 이를 생성자 라고 부른다.
생성자는 class로 인하여 생성된 객체를 생성하고 초기화 하기위한 특수한 메서드 이다.
클래스안에는 오로지 하나의 생성자만 존재가능하며 여러개의 생성자가 있을경우 에러가 발생한다.
this는 인스턴스 객체를 의미합니다. parameter로 이름,가격 등은 인스턴스 생성 시 지정하는 값이며,
위와 같이 this에 할당한다는 것은 만들어진 인스턴스에 해당 브랜드, 이름, 색상을 부여하겠다는 의미입니다.
#인스턴스 생성
const cola = new Beverage('cola',1000);
cola.price
cola.choose()
인스턴스를 만들때 new 라는것을 선언하며 인스턴스를 생성하였다.
new를 사용하는 이유는 new 사용시 생성자 함수가 실행되며, 변수에 클래스의 설계를 가진 새로운 객체, 즉 인스턴스가 할당되기 때문이다.
ES5 문법
ES6 문법
ES6문법이 ES5보다 최근에 만들어졌기때문에 ES6문법을 더욱 많이 사용한다.