[JavaScript] class(constructor, method)

link717·2020년 9월 19일
0

JavaScript

목록 보기
11/17
post-thumbnail

💎 class?

JavaScript는 OOP(Object-oriented programming) 언어인데 class는 개발자가 유사한 객체를 빠르게 생성할 때 사용하는 도구이며 data fields와 함수(method)가 혼합된 형태이다.

🍡 constructor?(생성자)

객체(object)의 설계도인 클래스(class)는 문법이 비슷하지만 가장 큰 차이는 constructor라는 생성자 함수이다. constructor() method는 새롭게 객체를 생성하는데 이렇게 객체를 생성하는 과정을 '인스턴스화'라고 한다.

class Person {
 constructor(name, age) {
   this.name = name;
   this.age = age;
 }

 speak() {
   console.log(`${this.name}: hello!`)
 }
}

① class의 이름은 항상 대문자로 시작하여 camelcase로 작성해야한다.
② class의 instance를 생성할때마다 constructor method가 호출된다.
③ class의 실행범위(context)에서 this는 해당 instance를 의미한다.
④ class내 context에 있는 name, price와 같이 어느 곳에서나 사용할 수 있는 변수를 이를 '멤버 변수'라고 부른다.
⑤ 이 멤버 변수는 this로 접근한다.

🍿 instance(인스턴스)

instance는 class를 통해서 생성된 객체를 의미하며 생성된 instance는 모두 다른 property 값을 갖고 있다. instance는 class 이름 옆에 new를 붙여서 생성한다.

🥊 new는 constructor() method를 호출하고 새로운 instance를 return 해준다.

const link717 = new Person('link717', 100);
link717.speak();
console.log(link717.name);
console.log(link717.age);

› link717
› 100

🥨 method(메서드)

method는 함수로 객체프로퍼티 값으로 갖고 있는 것을 method라고 한다. class의 method는 object의 문법과 같지만 프로퍼티마다 ,(comma)로 구분할 필요가 없다.

profile
Turtle Never stop

0개의 댓글