객체지향, OOP, Class생성

limuubin·2021년 7월 27일
1
post-thumbnail

OOP란?

OOP(Object-oriented programming)은 말그대로 '객체지향프로그래밍'을 의미한다. 이는 '절차지향프로그래밍' 과 다르게 데이터기능을 한 곳에 묶어 처리한다. 속성과,메소드가 하나의 '객체' 라는 개념에 포함되며 이는 JavaScript의 object와는 다르게 Class(클래스) 라는 이름으로 부른다.

Java나 C#처럼 철저한 객체지향프로그래밍과는 다르게 JavaScript에서 OOP를 구현 하는 방법은 독특하다.

객체 지향 프로그래밍의 장점으로는 인간이 세상을 바라보는 방법과 흡사하다. 코드를 추상화하여 직관적으로 생각하기 때문에 오래 전부터 프로그래밍 방법론으로 빠르게 적용되었다.

OOP의 모든것은 '객체'로 그룹화된다.

객체지향을 위하여 객체를 생성해야 하는데, 이때 JavaScript에서는 Class를 사용한다.
Class는 일종의 '청사진'이라고 이해하면 쉽다.
그리고 Class(청사진)을 통하여 만들어진 객체를 'Instance Object'라고 한다.

Class예시

자동차는 이름,색상,가격,무게,제조사 등과 같은 '속성' 이 존재하고 시동, 전진, 후진, 정지 와 같은 기능(메소드) 가 있다.

위와 같은 상황일때 속성과, 메소드를 한번에 담고있는 '자동차' 라는 것을 Class로 생성할 수 있다.

Class 선언

 class Car {
 constructor(name, color, price, weight, brand) {//속성선언
   this.name = name;
   this.color = color;
   this.price = price;
   this.weight = weight;
   this.brand = brand;
 }
 start() {
   console.log(`${this.name}에 시동이 걸립니다.`);
 }
 go() {
   console.log(`${this.name}이(가) 전진합니다.`);
 }
 stop() {
   console.log(`${this.name}이(가) 정지합니다.`);
 }
 reverse() {
   console.log(`${this.name}이(가) 후진합니다.`);
 }
}

위와 같이 constructor 라는 생성자라는 일종의 메소드를 사용하여 객체의 속성을 생성 할 수 있다. 이 특별한 메소드는 Class당 하나씩만 가질 수 있다.

생성한 Class를 활용하는 방법은 다음포스팅에서 알아보자.
👉🏻 Class 활용

0개의 댓글