객체 지향 프로그래밍이란?

object-oriented programming. Java, C++, C#, Python, PHP, Ruby, Object-C, Javascript 등 수많은 언어들이 객체 지향 프로그래밍 언어로 분류된다. 

객체 지향 언어란, 사용자의 편의를 위해서 실생활에서 접할 수 있는 객체(Object) 의 특징들을 프로그래밍 언어에 접목시킨 것을 말한다. 이를 위해 객체의 핵심 개념 또는 기능만을 추출하는 추상화 (absctraction) 과정을 거친다. 

객체는 서로 관계성이 있는 함수 또는 요소의 집합으로 프로그램이 구동된다. 각 객체는 큰 하나의 프로그램 안에서 각자의 역할을 수행하는 부품으로 생각할 수 있다. 

 

반대어: 절차지향 프로그래밍. 단순한 명령어들의 집합 또는 함수들의 집합

 

 

클래스 기반 언어

Java, C++, C#, Python, PHP, Ruby, Object-C

위 언어들은 클래스를 이용해 객체의 자료구조, 기능을 정의한다.

또한 생성자를 통해서 새로운 인스턴스를 형성한다. (new 연산자)

클래스란 같은 종류의 집단에 속하는 속성과 행위를 정의한 것으로, 객체 지향 프로그래밍에 있어서 사용자 정의 데이터를 말한다. 

 

 

프로토타입 기반 언어

Javascript가 이에 해당한다.

프로토타입 기반 언어는 클래스 기반 언어와 달리, 객체의 프로토타입이 설정되어 있고, 사용자가 이를 새로운 인스턴스로 만들어 이용할 수 있도록 하는 언어이다. 클래스 개념이 없으며 별도의 객체 생성 방법이 따로 존재한다. 

객체 리터럴 방식과 생성자 함수 방식을 이용해 객체를 만들 수 있다. (링크)

 

jQuery, Angular, React 등의 라이브러리 프레임워크가 사용된다.

Node.js와 Express.js는 javascript를 브라우저 밖의 백엔드 영역에서도 사용할 수 있도록 해준다. 

복사했습니다!