For Programmer

자바스크립트 - class(클래스) - ES6문법 본문

Programming language/JavaScript

자바스크립트 - class(클래스) - ES6문법

유지광이 2020. 7. 26. 16:31
728x90

클래스 사용하기

*일반적인 함수와 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); 처럼 명시를 해줘야 한다.

728x90
Comments