For Programmer
자바스크립트 - class(클래스) - ES6문법 본문
클래스 사용하기
*일반적인 함수와 class를 비교해놓은 코드이다. 실제로 es6문법이 도입되면서 class를 많이사용하게 되었다. class는 자바와 비슷하게 생성자(constructor)가 존재하며 생성자는 var kim = new Person('kim',10,20); 과 같이 new라는 키워드를 통해 객체를 생성할 시 생성할때 한번 실행된다.
클래스에서 메서드 선언하기
* 클래스에서 메서드를 선언할 수있는 방법은 다양하다. 웬만하면 2nd선언 방식을 많이사용한다. 1st방식은 생성자 안에서 사용하는 방식이고 2nd방식과 3th방식은 완전히 동일한 생성방식이다. 단 2nd방식이 간편함으로 2nd방식을 많이 사용한다. 4th방식은 kim이라는 객체에 직접 생성하는 방식이다. 단, 같은 이름으로(sum4가만약 Person클래스안에 이미정의되어있다면) 메서드를 생성할 경우 오버라이딩을 하게된다.(덮어쓰게됨)
클래스 상속
*자바와 다르게 자식클래스에 따로 생성자를 만들거나 할 필요가 없으며 상속을 받는 순간 부모의 모든 생성자부터 메서드들을 이용할 수 있으며 자기자신의 메서드들까지 이용 가능하다. 또한 자식 클래스에서 생성자를 생략한다는 것은 super(); 즉 부모의 생성자호출이 생략되어 있다는 것이다. 위의 코드에서는 constructor(name,first,second){super(name,first,second);} 가생략되어 있다는 뜻이다.
단,자식의 클래스에서 생성자를 명시하는순간 부모 클래스의 생성자를 이용하고 싶다면 무조건 super(name,first,second); 처럼 명시를 해줘야 한다.
'Programming language > JavaScript' 카테고리의 다른 글
자바스크립트 - call 과 bind (0) | 2020.07.26 |
---|---|
자바스크립트 - 객체간 상속 (0) | 2020.07.26 |
자바스크립트 - prototype(프로토타입) (0) | 2020.07.26 |
자바스크립트 - 레퍼객체 (0) | 2020.07.24 |
자바스크립트 - 원시데이터 타입 과 레퍼객체 (0) | 2020.07.24 |