9. Class
JAVA처럼 class를 선언하고 사용할 수 있다.
Javascript를 JAVA처럼 사용할 수 있게 지원하는 내용이기에 JAVA에 대한 기본 지식이 없다면 이해하기 힘들 수 있다.
최대한 자세히 설명하겠지만 JAVA에 대해 공부하고 이 글을 보는 걸 추천한다.
(1) 선언 방법
기본적으로 아래 같이 set, get을 선언해서 사용할 수 있다.
JAVA와 달리 Class 안에 변수를 선언하지 않고, set메서드에서 this. 을 이용해서 변수를 선언해서 사용한다.
다음과 같이 선언할 수도 있으며, set get으로 지정하면 method 형태가 아닌 property 형태로 사용할 수 있다.
그리고 function을 정의하는 방법과 동일하게 class Person 대신 var Person = class 형태로도 사용할 수 있다.
(2) 생성자 ( constructor )
클래스 인스턴스를 생성하고 생성한 인스턴스를 초기화 역할이며, 오버로딩 생성자는 안 된다.
반드시 constructor 는 단 하나만 지정 가능하며, 만약 명시적으로 constructor를 지정하지 않으면 prototype의 생성자가 호출된다.
이 생성자를 ‘default 생성자'라고 한다.
(3) 상속 ( inheritance )
ES6에서는 자바와 같이 extends 키워드로 상속 표현한다.
부모 클래스의 멤버를 자식 클래스가 상속 받아서 사용 가능하다.
(4) method overriding
JAVA처럼 method를 orverriding하여 사용할 수 있다.
동일한 메서드 명으로 변경사항을 작성하면 되며, super를 사용해 간결하게 코드를 작성할 수도 있다.
(5) static
JAVA처럼 static도 사용할 수 있다.
class를 new로 생성하지 않아도 사용할 수 있다.
'개발 언어 > ECMAScript6' 카테고리의 다른 글
10 ECMAScript - Map, Set (0) | 2018.04.04 |
---|---|
08 ECMAScript6 - Array 2 (copyWithin, fill, entries, keys, find, findIndex) (0) | 2018.04.04 |
08 ECMAScript6 - Array 1 (Array-like, Array.form, Array.of(), forEach) (0) | 2018.04.03 |
07 ECMAScript6 - template (0) | 2018.04.03 |
06 ECMAScript6 - Object 2 (method, function 제거, includes, startsWith, endsWith, repeat) (0) | 2018.04.03 |
댓글