객체지향(Object-Oriented Programming, OOP)이란,

컴퓨터 프로그램을 명령어의 목록으로 (절차지향적으로) 보지 않고 여러개의 독립단위(객체)들의 모임으로 파악하고자 하는 컴퓨터 프로그래밍의 한 패러다임이다. C++은 1970년대 후반 미국 벨연구소의 비얀 스트라우스트럽(Bjarne Stroustrup)이 당시 유행하던 객체지향 개념을 C에 도입하여 'C with classes'를 개발하게되는데, 이것이 C++이다.

다시 돌아와서, 객체지향은 다음을 구현하는 방법이다.

    1. 객체는 기본적인 구성요소이다.
2. 각 객체는 어떤 클래스(class)의 인스턴스(instance)이다.
3.클래스들은 상속성 관계에 의해 서로 연관되어 있다.

언어가 다음의 조건들을 만족할 때 객체지향 언어라 부른다.

 

1. 언어가 객체를 지원한다.
2. 언어에서 객체는 클래스에 속한다.

3. 언어가 상속성을 지원한다.

객체(Object)는,

연산을 수행하고 지역적인 상태를 갖는 개체(entity)이다. 따라서 객체는 데이터와 프로시저(procedure)의 결합으로 볼 수 있다.

 

인스턴스(Instance)는,

같은 클래스에 속하는 객체로, 하나의 클래스에서 생성된 객체를 말한다. 이때 추상적인 개념인 클래스에서 실제 객체를 생성하는 것을 인스턴스화(instantiation)라고 한다.

 

클래스(Class)는,

속성과 메서드를 공유하는 유사한 성질들의 객체들을 하나로 그룹화한 것이다.

 

Reference

'소프트웨어 > C++' 카테고리의 다른 글

[C++] 객체지향 언어  (0) 2021.12.01
[C++] 연산자  (0) 2020.04.29
[C++] 데이터 타입  (0) 2020.04.25

+ Recent posts