[javascript] class

나지은·2020년 8월 23일
0
post-thumbnail
post-custom-banner

1. class 구조

class Car {
  constructor(name, price) {
    this.name = name;
    this.price = price;
  }
}
  • class 이름: Car / 항상 대문자로 시작하고, CamelCase로 작성

1. instance

class를 통해 생성된 개체
class의 property이름과 method를 갖는 객체

const morning = new Car('Morning', 20000000);
  • Class 이름에 new를 붙여서 생성
  • 클래스 이름 우측에 () 괄호를 열고 닫고, 내부에는 constructor에서 필요한 정보를 인자로 넘겨줌
  • Car클래스의 instance를 morning이라는 변수에 저장

2. constructor 생성자

class는 새로운 instance를 생성할 때마다 constructor()메서드를 호출

class Car {
  constructor(name, price) {
    this.name = name;
    this.price = price;
  }
}
  • constructor()메서드는 name, price 2개의 argument를 받음
  • class의 실행범위(context)에서 this는 해당 instance를 의미
  • constructor()에서 인자로 넘어오는 name과 price를 사용해 Car instance의 name, price 프로퍼티에 값을 할당
  • 클래스 내에서 변경 가능한 상태값(name, price)이자 class내의 컨텍스트에서 어느 곳에서나 사용할 수 있는 변수를 '멤버 변수'라고 함
  • 멤버 변수는 'this' 키워드로 접근

3. method

객체가 프로퍼티 값으로 갖고 있는 것

class Car {
  constructor(name, price) {
    this.name = name;
    this.price = price;
    this.department = "선릉지점";
  }

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

  changeDepartment(departmentName) {
    this.department = departmentName;
  }
}
  • changeDepartment 메서드를 추가
profile
즐거움을 찾는 개발자🐯
post-custom-banner

0개의 댓글