Daehyunii's Dev-blog
<모던자바스크립트 25장 클래스> TIL-40 본문
오늘은 클래스에 대해서 배웠다. 클래스에 대해서는 파이썬에서 한 번 골머리를 앓으면서 공부해서 그런지, 아니면 자바스크립트의 생성자 함수를 배워서 그런지 생각보다 가볍게 느껴졌다. 우선 자바스크립트의 클래스는 인스턴스의 프로퍼티를 생성하기 위한 방법이나, 프로토타입 메서드, 정적 메서드를 표현하는 방식의 차이 외에는 거의 생성자 함수와 비슷하다고 느꼈다. 사실 클래스도 함수 객체이고, constructor인 생성자 함수니 당연한 말일 수 있겠다. 클래스와 생성자 함수의 가장 큰 차이점이 하나 있다면, 생성자 함수는 프로토타입을 기반으로 상속관계가 이루어 진다면, 클래스는 기존 클래스를 상속받아 새로운 클래스를 확장하여 정의하는 방식으로 상속관계가 이뤄진다는 것이다. 그런데 여기서 한 가지 의문점은 자바스크립트는 프로토타입 기반 객체지향 프로그램 언어인데, 굳이 클래스를 사용할 필요가 있냐는 것이다. 물론 클래스도 함수이고 프로토타입을 갖고 프로토타입간의 상속관계를 가지지만, 생성자 함수를 사용하면 굳이 클래스를 생성하지 않아도 똑같은 결과를 낳을수 있는데 기존의 생성자 함수 대신 ES6에서 클래스를 도입한 이유가 궁금하다.
2022.07.26 - [언어 공부 및 정리/자바스크립트[모던자바스크립트]] - 25장 클래스
'✏️ 2022. TIL > July' 카테고리의 다른 글
<모던자바스크립트 27장 배열> TIL-42 (0) | 2022.07.27 |
---|---|
<모던자바스크립트 26장 ES6 함수의 추가 기능> TIL-41 (0) | 2022.07.26 |
<모던자바스크립트 24장 클로저> TIL-39 (0) | 2022.07.22 |
<모던자바스크립트 23장 실행 컨텍스트> TIL-38 (0) | 2022.07.20 |
<모던자바스크립트 22장 this> TIL-37 (0) | 2022.07.19 |