TIL | js class

임채현·2022년 1월 4일
0

Class

클래스는 객체지향 프로그래밍의 핵심
클래스의 가장 큰 장점은 원하는 구조의 객체 틀을 짜놓고, 비슷한 모양의 객체를 공장처럼 찍어 낼 수 있다는 것

붕어빵의 예시로 쉽게 알 수 있다.

  • 클래스는 붕어빵을 만들 수 있는 틀을 말한다.
  • data가 들어있지 않고 template만 정의해 놓는다.
  • 이 클래스를 이용해서 실제로 data를 넣어서 만든 것이 object이다.

  • class를 통해 생성된 객체(instance)
  • 팥을 넣으면 팥붕어빵, 슈크림을 넣으면 슈크림붕어빵

만약 비슷한 모양의 객체를 계속 만들어야 할 일이 생기면 일일히 만들어서 코드가 길게 형성되는 것 보단
클래스라는 설계도를 통해 쉽게 객체를 만들 수 있다.

class는 Class를 통해서 생성할 수 있다.
class를 통해 생성된 객체를 인스턴스라 부르는데 constructor() 메서드를 호출함으로 만들 수 있다.

  • constructor() 메서드에는 this 키워드를 사용한다.
  • 이 this 키워드로 접근한 변수는 멤버변수라 하며 class내 context 어느곳에서나 사용할 수 있는 변수이다.
class Car {
  constructor(name, price) {
    this.name = name;
    this.price = price;
  }
}

우리는 객체의 프로퍼티 값에 함수를 넣을 수 있다. 이렇게 만들어진 객체 내부의 함수를 method이라한다.

class로 객체를 생성하는 과정을 '인스턴스화'라고 부른다.
인스턴스는 class의 property이름과 method를 갖는 객체이다.
이 과정은 class이름에 new를 붙여서 진행된다.

const morning = new Car('Morning', 20000000);

이러면 'Morning'이란 String과 200000이라는 number가 car생성자에 넘겨지고 name, price property에 각자의 값이 할당된다.

이와 같이 차에 대한 무수히 많은 객체를 만들고 싶을 때
class로 차 객체에 대한 틀(멤버변수를 포함한 변수와 method로 구성된 template)을 만들고 data를 넣어 객체를 생성해주면 된다.

profile
열심히 살고 싶은 임채현입니다.

0개의 댓글