250x250
Notice
Recent Posts
Recent Comments
관리 메뉴

탁월함은 어떻게 나오는가?

[C++] 객체지향 프로그래밍의 주요 개념들 본문

[Snow-ball]프로그래밍(컴퓨터)/C, C++

[C++] 객체지향 프로그래밍의 주요 개념들

Snow-ball 2020. 10. 12. 14:35
반응형

객체(object)란?

* 소프트웨어 시스템 안의 어떠한 대상을 표현한 것

- 정해진 처리를 수행함 > 행위, 메소드, 멤버함수

- 처리 과정에 따라 내부상태가 변화할 수 있음 > 속성, 데이터 멤버

- 다른 객체와 상호작용 할 수 있음 > 메시지 전달(멤버함수 호출)

 

 

클래스(class)란?

* 객체의 설계도

* 객체가 포함할 속성에 대한 명세와 메소드의 정의를 포함함.

 

 

캡슐화(encapsulation)란?

* 객체 내부의 상세한 구현부분과 외부사용자의 관점을 분리함.

* 내부속성등 구현에 대한 부분은 공개하지 않으며(정보은닉), 객체 외부에서는 공개된 인터페이스를 통해 객체를 사용할 수 있음 > 정보은닉 : 객체 내부의 데이터는 감춰져 있어 객체 외부의 사용자가 직접 액세스 할 수 없으며, 공개된 객체의 함수를 통해서만 값을 사용하거나 변화시킬 수 있다.

 

캡슐화의 장점

- 소프트웨어의 유지보수가 용이함 : 프로그램이 다른 부분에 영향을 미치지않고 객체 내부 구현 방법을 수정할 수 있음

- 재사용이 용이함 : 잘 설계된 캡슐화된 객체는 다른 응용에서도 재사용할 수 있어 소프트웨어 개발 비용을 줄일수 있음

 

 

상속이란?

 

반응형

'[Snow-ball]프로그래밍(컴퓨터) > C, C++' 카테고리의 다른 글

[C++] 조건문  (0) 2020.10.16
[C++] Counter 클래스 만들기  (0) 2020.10.12
[C++] 함수의 정의  (0) 2020.10.09
[C++] inline 함수  (0) 2020.10.07
[C++] 함수의 다중정의  (0) 2020.10.06
Comments