분산 네트워크 환경에 적용이 가능하며 여러작업을 동시에 처리할 능력을 가진 JAVA, C언어에 객체지향 개념을 넣어 만든 C++, 1세대 객체지향 프로그래밍 언어인 Smalltalk 등 각종 객체 지향언어의 구성 요소와 특징에 대해서 알아보겠습니다.
객체지향 프로그래밍 언어의 구성 요소
객체(Object)
- 데이터와 이를 처리하기 위한 연산을 결합시킨 실체
- 데이터 구조와 그 위에서 수행되는 연산들을 가지고 있는 소프트웨어 모듈
클래스(Class)
- 두 개 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현하는 요소, 공통된 특성과 행위를 갖는 객체의 집합
- 객체의 유형 또는 타입을 의미함
- 데이터를 추상화하는 단위
메시지(Message)
- 객체들 간의 상호작용을 하는데 사용되는 수단으로 객체의 메소드를 일으키는 외부의 요구사항
- 메시지를 받은 객체는 대응하는 연산을 수행하여 예상된 결과를 반환
객체지향 프로그래밍 언어의 특징
캡슐화
- 데이터와 데이터를 처리하는 함수를 하나로 묶은 것
- 캡슐화된 객체의 세부 내용이 외부에 은폐되어, 변경이 발생할 때 오류의 파급 효과가 적음
- 캡슐화된 객체들은 재사용이 용이함
정보은닉
- 캡슐화에서 가장 중요한 개념으로, 다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통하여 접근을 허용
추상화
- 불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것에만 중점을 두어 간략화 하는 것, 모델화
- 데이터의 공통된 성질을 추출하여 슈퍼 클래스를 선정하는 개념
상속성
- 이미 정의된 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것
- 상속성을 이용하면 하위 클래스는 상위 클래스의 모든 속성과 연산을 자신의 클래스 내에서 정의하지 않고서도 즉시 사용이 가능
다형성
- 메시지에 의해 객체가 연산을 수행하게 될 때 하나의 메시지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력
- 객체들은 동일한 메소드명을 사용하며 같은 의미의 응답을 함
'정보처리기사' 카테고리의 다른 글
| [정보처리기사] 결합도(Coupling)와 응집도(Cohesion) 정리 (0) | 2021.07.09 |
|---|---|
| [정보처리기사] 데이터 입출력 구현 - 인덱스, 뷰, 트랜잭션, 클러스터, 파티션 (0) | 2021.07.09 |
| [정보처리기사] 데이터입출력 구현 - 반정규화(Denormalization) (0) | 2021.07.07 |
| [정보처리기사] 데이터 입출력 구현 - 데이터 모델 (0) | 2021.07.07 |
| [정보처리기사] 요구사항 확인 - 개발 기술 환경 (0) | 2021.07.07 |
댓글