그래프 정점(V)과 간선(E)의 집합으로 이루어진 비선형 자료구조이다. 정점은 노드라고도 불리고, 간선은 노드들을 연결시켜주는 선이다. 그래프의 표현식: G(E,V). 노드: 데이터를 담고 있는 객체(?) 예시) 페이스북 페북에는 사용자, 사진, 영상, 그룹, 페이지, 댓글 등 많은 요소가 있고, 각각의 요소는 데이터를 담고 있는 노드이다. 사용자가 ...
최적화 문제를 해결하기 위한 알고리즘 설계 기법 문제를 여러 하위 문제로 나누어 해결하고, 중복되는 하위 문제들을 한 번만 계산하여 중복 계산을 피하는 방법을 사용한다. 큰 규모의 문제를 해결할 때 용이 핵심 아이디어 작은 크기의 하위 문제들을 해결한 결과를 저장해두었다가, 이를 이용하여 더 큰 크기의 문제들을 해결하는 것. 하위 문제들을 푸는 과정에서...
a.k.a 가상 생성자 > 공장에서 상품을 생산하듯이 팩토리 메소드로 비슷한 형태의 (공통의 성질을 가진) 객체들을 찍어낸다 객체를 생성할 때 어떤 클래스의 인스턴스를 만들 지 서브클래스에서 결정함 의도 부모 클래스: 인터페이스 자식 클래스: 인터페이스를 바탕으로 클래스를 구현하여 객체의 유형을 변경할 수 있음 인터페이스 자바스크립트에서는 인터페...
1. 객체지향 프로그래밍 객체를 소프트웨어의 세계에서 표현하기 위해 객체의 핵심적인 개념 또는 기능만을 추출하는 추상화를 통해 모델링하려는 패러다임 관계성있는 객체들의 집합 별도의 역할이나 책임을 갖는 작은 독립적인 기계 또는 부품 2. 클래스 기반 vs. 프로토타입 기반 클래스 기반 언어 Java, C++, Python 등 클래스는 객체 생성에 사용...
API Application Programming Interface 소프트웨어 애플리케이션 간에 서로 소통하기 위한 규약/인터페이스. 소프트웨어 구성 요소 간의 상호작용을 도와주는 도구. API를 통해 한 애플리케이션이 다른 애플리케이션의 기능과 데이터를 활용할 수 있음. REST REpresentational State Transfer 웹...