OOP(Object Oriented Programming)가 무엇인지?
객체 지향 프로그래밍을 의미. 컴퓨터 프로그램을 “객체(Object)"들의 모임으로 파악하고자 하는 프로그래밍의 패러다임
현실 세계를 리모델링
특성
추상화
캡슐화(은닉)
상속성, 재사용
다형성
JavaScript에서 Object를 생성하는 여러가지 방법들
Object.create(prototypeObject, [propertyObject])
let obj1 = {}
let obj2 = new object()
JavaScript에서 Prototype은 무엇이고 왜 사용해야 하는지?
prototype은 객체와 객체를 연결하는 체인의 역할을 하는 것이다.
같은 생성자를 통해서 만들어진 객체들은 하나의 prototype 이라는 Object를 공유하고 있다. 그래서 연결된 모든 변수 및 메소드 등과 같은 것을 접근할 수 있게 된다. + 메모리 관리
Data Structure
Linked List
Graph
Tree
Binary Search Tree
Hash Table