Computer Programming 알고리즘이 모여 특수목적을 갖게 되면은 프로그램이 된다 컴퓨터 프로그램에는 크게 3가지가 존재한다. 1. Machine Languages(기계어) 2. Assembly Languages(어셈블리어) 3. High-Level Languages(고급언어) 고급언어에 가까울 수록 사람의 언어와 점점 비슷해지는 특징이 있다. Machine Languages 0과 1만으로 이루어져 있는 언어 그래서 사람이 알아 듣기가 매우 어렵다. Assembly Languages 기계어를 사람이 사용할 수 있게 변환시켜준 언어이다 하지만 소수의 명령어, 변수 밖에 없기 때문에 매우 불편하다 High-Level Languages line by line 으로 읽으면서 바로 컴퓨터에서 볼 수 있도록 변환을 해준다 고급언어에도 크게 2가지로 볼 수 있다 Procedural Languages(절차지향 언어): C, COBOL,Fortran, LISP, Perl, HTML, VBScript... Object-Oriented Languages(객체지향 언어): Java, C++, Python, JavaSCript... 객체 지향의 특징과 장점으로는 크게 4가지가 있다 1. Encapsulation(캡슐화) 복잡성을 줄여주고 재사용성을 높여준다 2. Ingeritance(상속) 똑같은 코드가 겹치지 않게 해준다. 3. Abstaction(추상화) 복잡성을 줄여준다. 4. Polymorphism(다향성) switch/case 문을 쓰지 않고 깨끗하게 코드를 사용할 수 있게 해준다 Instantiation Patterns 말 그대로 인트턴스를 만드는 과정을 뜻한다. 자바스크립트에서의 Class가 나오기 전 사용하던 Class선언 방식으로 4가지가 있다 1. Functional 2. Functional Shared 3. Prototypal 4. Pseudoclassical Functional var Car = function (position){ v...