[JS] Class 생성

Daily Dev Blog .·2021년 11월 26일
0

JavaScript

목록 보기
2/3
post-thumbnail

클래스는 객체지향 프로그래밍의 핵심입니다.

객체지향 프로그래밍이란, 프로그램을 객체들로 구성하고, 객체들 간에 서로 상호 작용 하도록 작성하는 방법입니다.

JavaScript는 객체지향 중심에 있는 언어는 아니지만,

프로그래밍에 있어서 Class, 객체, 객체지향은 항상 중요한 주제입니다.

'객체지향 프로그래밍' 이라는 단어에서 '객체'는 앞서 배웠던 { num: 1 } 의 데이터 타입을 말하는 것은 아닙니다.

객체는 영어로 object, 말그대로 사물을 뜻합니다.

하지만, 클래스는 결국 { num: 1 } 처럼 생긴 객체(object)를 잘 설계하기 위한 틀은 맞습니다.

그런데 이 때의 객체는 특정 로직을 갖고 있는 행동(method)와 변경 가능한 상태(멤버 변수)를 가집니다.

원하는 구조의 객체 틀을 짜놓고, 비슷한 모양의 객체를 공장처럼 찍어낼 수 있습니다.

객체를 매번 만들어서 사용해도 좋지만,

큰 큐모의 객체 이거나 비슷한 모양의 객체를 계속 만들어야 한다면,

class라는 설계도를 통해 만들 수 있습니다.

//ex)
class Car {
  constructor(name, price) {
    this.name = name;
    this.price = price;
    //class내에서 변수에 직접 데이터값을 지정할 수 있다.
    this.department = "분당지점";
    this.salesAmount = 0;
  }

  applyDiscount(discount) {  
    return this.price * discount;   
  }
  
  addSales() {
    this.salesAmount++;
  }
}

const morning = new Car('Morning', 200000);
console.log(morning);	//expected output: Car { name: 'Morning', ... }
console.log(morning.name);	//expected output: Morning
console.log(morning.price);	//expected output: 2000000

const price = morning.applyDiscount(0.8);
console.log(price);	//expected output: 200000 * 0.8 = 160000
profile
Better Than Yesterday🌳

0개의 댓글