본문 바로가기
반응형

공부67

[JavaScript] Prototype Chain 이란? 오늘은 Prototype Chain에 대해서 공부했다. 먼저 MDN에서 Prototype Chain의 개념에 대해서 알아보았다. 자바스크립트에서 함수는 속성을 가질 수 있으며 모든 함수에는 prototype이라는 특수한 속성이 있다. 각각의 객체는 [[Prototype]]이라는 은닉(private) 속성을 가지는데 자신의 프로토타입이 되는 다른 객체를 가리킨다. 그 객체의 프로토타입 또한 프로토타입을 가지고 있고 이것이 반복되다, 결국 null을 프로토타입으로 가지는 오브젝트에서 끝난다. null은 더 이상의 프로토타입이 없다고 정의되며, 프로토타입 체인의 종점 역할을 한다. 간단한 예시로 알아보겠다. function Human(name) { this.name = name; }; Human.prototy.. 2020. 10. 28.
[JavaScript] What is OOP in JavaScript? 오늘은 JS에서 OOP(Object Oriented Programming)에 대해서 공부했다. 다른 언어에서 배우던 OOP 와는 조금 다른 느낌이었다. JavaScript는 프로토타입 기반 언어로 C++이나 Java 같은 언어들과는 다르게 Class가 따로 존재하지 않고 function을 Class 처럼 사용한다. 프로토타입 기반 프로그래밍은 클래스가 존재하지 않는 객체지향 프로그래밍의 한가지 스타일로, 동작 재사용(상속)은 프로토타입으로서 존재하는 객체를 데코레이팅하는 과정을 통해 수행된다. Class가 없던 JavaScript에서 OOP의 개념을 어떻게 입혔는지 또 어떻게 사용하는지 그리고 OOP가 무엇인지 알아보고자 한다. What is OOP OOP(Objcet Oriented Programmin.. 2020. 10. 28.
[Data-Structure] Graph (그래프) 오늘은 비선형 구조 중 하나인 그래프(Graph)에 대해서 공부했다. 그래프(Graph)는 노드(Node, 또는 정점 -vertex- 이라고도 부른다), 그리고 노드와 노드를 연결하는 간선(edge)으로 구성된다. 그래프는 무방향(undirected)일 수도 있으며, 이는 간선에 의해 연결된 2개의 노드가 대칭일 수 있다는 의미이다. 한편 방향성(directed)을 가질 수도 있는데, 이는 비대칭 관계를 의미한다. 진입 차수, 진출 차수란? 진입 차수 : 외부노드에서 해당 노드로 들어오는 간선의 수 진출 차수 : 해당 노드에서 외부로 향하는 간선의 수 그래프 구현 방식 중 인접 행렬 방식과 인접 리스트 방식의 차이 인접 행렬 방식 : 그래프의 연결 관계를 이차원 배열로 나타내어 graph[i, j] 일 .. 2020. 10. 26.
[Data-Structure] Tree (트리)와 Binary Search Tree (이진 탐색 트리) (2)Binary Search Tree (이진 탐색 트리) 란 지난번 글에 이어서 이번에는 Binary Search Tree (BST, 이진 탐색 트리) 에 대해서 알아보았다. 이진 탐색 트리는 최대 2개의 자식만 갖는 트리이다. 트리 구조는 재귀적이므로, 자식 노드 역시 최대 2개의 자식을 갖는다. 이진 탐색 트리에서는 노드의 값이 정렬 방법에 따라 순서가 존재하는데 노드의 왼쪽 서브 트리에는 노드의 값보다 작은 값이, 오른쪽 서브 트리에는 노드의 값보다 같거나 큰 값이 존재하게 된다. 이진 탐색 트리는 트리 자료구조를 활용한 자료구조로 데이터 탐색 속도를 높일 때 사용한다. 이진 탐색 트리가 주어졌을 때, 세가지 방법으로 순회가 가능하다. 전위 순회(Preorder Traversal): 부모 → 좌 → 우 중위 순회(Inorder Traversal): 좌 → 부.. 2020. 10. 26.
반응형