TIL 6일차

전영호·2021년 3월 2일
0

오늘은 저번주에 배웠던 내용을 토대로 ES5방식의 OOP작성 방법과 ES6방식의 작성 방식을 달리해서 구현하는 부분을 공부했다.

ES5방식은 prototype으로 구현하는것이였는데 사실 그 개념을 이해기 어려워 상속을 어떤식으로 구현해야 하는건지 헷갈렸다.
그래서 ES6방식으로 우선 구현했었는데 Class형식으로 구현하니 Java에서 경험했던 내용이라 좀 더 쉽게 구현 할 수 있었다 construct를 이용해 각각의 생성자들을 만들어주고 그 부분에서 상속이 필요하다면 super를 이용해서 보다 직관적이고 쉽게 상속을 구현 할 수 있었다.

은닉화를 구현하기 위해 은닉화를 시키고 싶은 부분을 함수로 넣어 직접 접근이 불가능하게 만드는 것도 구현했는데 이 부분이 좀 신기하고 재밌었다.
ES6방식으로 구한하고 나니 ES5방식에서 어떤 방법으로 구현해야 하는지 감이 왔고, 생성자에서 사용하는 super를 대신할 것이 필요하다고 느꼈는데 이 부분에서 전에 배웠던 call, apply로 함수 실행하는 것이 생각나서 이를 이용해서 시도했었는데 this를 넘겨주는 부분이 잘 이해가 되지 않아서 한참을 고민하면서 풀었다. 주소를 넘겨준다는 개념이 이해하기 어려웠는데 이해하고 나니 prototype으로도 구현 할 수 있게 되었지만...역시 나는 ES6방식의 Class가 더 마음에 든다!

profile
인생 1회차 주니어 개발자

0개의 댓글