Quest 06. JavaScript OOP - Design Introduction 이번 퀘스트에서는 자바스크립트의 객체지향 프로그래밍에 대해 알아볼 예정입니다. Topics 클래스 프로토타입 기반 객체지향 프로그래밍 생성자 멤버 함수 멤버 변수 상속 Resources 자바스크립트 완벽 가이드, 인사이트 자바스크립트 객체지향 프로그래밍, 위키북스 Checklist 객체지향 프로그래밍은 무엇일까요? 객체와 클래스는 어떤 역할을 할까요? 자바스크립트의 클래스는 어떻게 정의할까요? 프로토타입 기반의 객체지향 프로그래밍은 무엇일까요? 클래스 기반의 객체지향 프로그래밍과 어떤 점이 다를까요? 클래스는 어떻게 상속할 수 있을까요? 클래스를 상속하는 설계의 장점과 단점은 무엇일까요? Quest Quest 06 ~ Quest 07 을 통해, 웹 상에서 동작하는 간단한 바탕화면 시스템을 만들 예정입니다. 요구사항은 다음과 같습니다: 아이콘은 폴더와 일반 아이콘, 두 가지의 종류가 있습니다. 아이콘들을 드래그를 통해 움직일 수 있어야 합니다. 폴더 아이콘은 더블클릭하면 해당 폴더가 창으로 열리며, 열린 폴더의 창 역시 드래그를 통해 움직일 수 있어야 합니다. 처음에는 세 개의 아이콘이 있으며, 그 중 두 개는 폴더입니다. 이번 퀘스트에서는 바탕화면 시스템을 만들기 위한 준비작업을 할 예정입니다. 어떤 클래스들이 필요할지 생각해 보세요. 각 클래스들의 멤버변수와 멤버함수는 어떤 것이 있을지 설계해 보세요. 각 클래스들의 생성자에는 무엇이 들어가야 할지 설계해 보세요. 실제 동작하는 함수를 짤 필요는 없습니다. 빈 함수로 정의만 해 보세요!