객체지향 프로그래밍
독립적인 객체의 집합으로 프로그램을 표현하려는 프로그래밍 패러다임
예를 들어 사람은 나이, 성별, 키, 몸무게, 학력 등의 다양한 속성이 있다. 이러한 특징들로 다른 사람과 구별하여 인식할 수 있다. 이러한 방법을 프로그래밍에 접목해 보자. 다양한 속성 중 구현하려는 프로그램에서는 이름과 주소 속성에만 관심이 있다고 쳐보자.
추상화
다양한 속성 중에서 프로그램에 필요한 속성만 간추려 표현하는 것
이름과 주소라는 속성을 갖는 객체를 표현하면 다음과 같다.
const person = {
name: 'Kim',
address: 'Soeul'
};
이때 프로그래머는 (person)객체를 다른 객체와 구별하여 인식할 수 있다.
객체
속성을 통해 여러 개의 값을 하나의 단위로 구성한 복합적인 자료구조
각 객체는 고유의 기능을 갖는 독립적인 부품으로 볼 수 있지만 자신의 고유한 기능을 수행하면서 다른 객체와 관계성을 가질 수 있다. 다른 객체와 메시지를 주고받거나 데이터를 처리할 수 도 있다. 또는 다른 객체의 상태 데이터나 동작을 상속받아 사용하기도 한다.