컴공생의 다이어리
객체지향(Object-Oriented) - 구성요소(객체, 클래스, 메시지), 특징(캡슐화, 상속, 다형성, 연관성) 본문
객체지향(Object-Oriented) - 구성요소(객체, 클래스, 메시지), 특징(캡슐화, 상속, 다형성, 연관성)
컴공 K 2021. 4. 25. 00:01객체지향(Object-Oriented)
- 객체지향은 소프트웨어의 각 요소들을 객체로 만든 후, 객체들을 조립해서 소프트웨어를 개발하는 기법
- 구조적 기법의문제점으로 인한 소프트웨어 위기의 해결책으로 채택되어 사용되고 있음
- 소프트웨어의 재사용 및 확장이 용이하여 고품질의 소프트웨어를 빠르게 개발할 수 있고 유지보수가 용이
객체지향 구성요소(객체, 클래스, 메시지)
▶ 객체(Object)
- 객체는 데이터와 데이터를 처리하기 위한 함수를 묶어 놓은 소프트웨어 모듈
데이터 | 객체가 가지고 있는 정보로, 속성이나 상태, 분류 등 |
함수 | 객체가 수행하는 기능으로 객체가 갖는 데이터를 처리하는 알고리즘 |
객체의 상태를 참조하거나 변경하는 수단 |
▶ 클래스(Class)
- 클래스는 공통된 속성과 연산을 갖는 객체의 집합
- 각각의 객체들이 갖는 속성과 연산을 정의하고 있는 틀
- 클래스에 속한 각각의 객체를 인스턴스(Instance)라고 함
▶ 메시지(Message)
- 메시지는 객체들 간의 상호작용에 사용되는 수단으로, 객체의 동작이나 연산을 일으키는 외부의 요구 사항
- 메시지를 받은 객체는 대응하는 연산을 수행하여 예상된 결과를 반환
객체지향 특징
▶ 캡슐화(Encapsulation)
- 캡슐화는 외부에서의 접근을 제한하기 위해 인터페이스를 제외한 세부 내용을 은닉하는 것
- 캡술화된 객체는 외부 모듈의 변경으로 인한 파급 효과가 적음
- 객체들 간에 메시지를 주고 받을 때 상대 객체의 세부 내용은 알 필요가 없으므로 인터페이스가 단순해지고, 객체간의 결합도가 낮아짐
▶ 상속(Inheritance)
- 상속은 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것
- 하위 클래스는 물려받은 속성과 연산을 다시 정의하지 않아도 즉시 자신의 속성으로 사용 가능
- 하위 클래스는 상속받은 속성과 연산 외에 새로운 속성과 연산을 첨가하여 사용 가능
▶ 다형성(Polymorphism)
- 다형성은 하나의 메시지에 대해 각각의 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력
- 객체들은 동일한 메소드명을 사용하며 같은 의미의 응답을 함
▶ 연관성(Relationship)
- 연관성은 두개 이상의 객체들이 상호 참조하는 관계를 의미
'자격증 > 정보처리기사' 카테고리의 다른 글
운영체제(Windows, UNIX/LINUX) 기본 명령어 (1) | 2021.04.29 |
---|---|
RTO(목표 복구 시간), RPO(목표 복구 시점)란? (0) | 2021.04.28 |
관계형 데이터베이스의 무결성(Integrity)의 종류 (0) | 2021.04.23 |
관계형 데이터베이스의 키(Key) - 후보키, 기본키, 대체키, 슈퍼키, 외래키 (0) | 2021.04.22 |
관계형 데이터베이스 - 릴레이션(Relation), 튜플(Tuple), 속성(Attribute), 도메인(Domain) (0) | 2021.04.21 |