일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 스케줄링
- 백준
- directx
- 렌더링 파이프라인
- OS
- 병행성 관련 오류
- 그리디알고리즘
- DirectX 12
- 쓰레드
- DirectX12
- 영속성
- 멀티쓰레드
- 알고리즘
- codility
- 자료구조
- Direct12
- 락
- 타입 객체
- 멀티프로세서
- 다이나믹 프로그래밍
- 디자인패턴
- 다이나믹프로그래밍
- 병행성
- 컨디션 변수
- I/O장치
- 동적계획법
- 운영체제
- 파일시스템 구현
- 그리디 알고리즘
- 프로그래머스
- Today
- Total
기록공간
1-3-3장. 객체지향 - A 본문
객체지향의 개요
객체지향은 현실 세계의 개체를 기계의 부품처럼 하나의 객체로 만들어, 기계적인 부품들을 조립하여 제품을 만들 듯이 소프트웨어를 개발할 때에도 객체들을 조립해서 작성할 수 있는 기법을 말한다.
-
객체지향 기법은 구조적 기법의 문제점으로 인한 소프트웨어 위기의 해결책으로 채택되어 사용되고 있다.
-
객체지향은 소프트웨어의 재사용 및 확장이 용이하여 고품질 소프트웨어를 빠르게 개발할 수 있고 유지보수가 쉽다.
-
객체지향은 복잡한 구조를 단계적 계층적으로 표현하고, 멀티미디어 데이터 및 병렬 처리를 지원한다.
-
객체지향은 현실 세계를 모형화하므로 사용자와 개발자가 쉽게 이해할 수 있다.
객체(Object)
객체는 데이터와 데이터를 처리하는 함수를 묶어 놓은(캡슐화) 하나의 소프트웨어 모듈이다.
-
객체의 특성
-
객체는 독립적으로 식별 가능한 이름을 가지고 있다.
-
객체가 가질 수 있는 조건을 상태라고 하는데, 일반적으로 상태는 시간에 따라 변한다.
-
객체와 객체는 상호 연관성에 의한 관계가 형성된다.
-
객체가 반응할 수 있는 메시지의 집합을 행위라고 하며, 객체는 행위의 특징을 나타낼 수 있다.
-
객체는 일정한 기억장소를 가지고 있다.
-
클래스(Class)
클래스는 공통된 속성과 연산(행위)을 갖는 객체의 집합으로, 객체의 일반적인 타입을 의미한다.
-
클래스는 각각의 객체들이 갖는 속성과 연산을 정의하고 있는 틀이다.
-
클래스에 속한 각각의 객체를 인스턴스라 하며, 클래스로부터 새로운 객체를 생성하는 것을 인스턴스화라고 한다.
-
동일 클래스에 속한 각각의 객체들은 공통된 속성과 행위를 가지고 있으면서, 그 속성에 대한 정보가 서로 달라서 동일 기능을 하는 여러 가지 객체를 나타내게 한다.
-
최상위 클래스는 상위 클래스를 갖지 않는 클래스를 의미한다.
-
슈퍼 클래스는 특정 클래스의 상위 클래스에고, 서브 클래스는 특정 클래스의 하위 클래스를 의미한다.
캡슐화(Encapsulation)
캡슐화는 데이터와 데이터를 처리하는 함수를 하나로 묶는 것을 의미한다.
-
캡슐화된 객체는 인터페이스를 제외한 세부 내용이 은폐되어 외부에서의 접근이 제한적이기 때문에 외부 모듈의 변경으로 인한 파급 효과가 적다.
-
캡슐화된 객체들은 재사용이 용이하다.
-
객체들 간의 메시지를 주고받을 때 상대 객체의 세부 내용은 알 필요가 없으므로 인터페이스가 단순해지고, 객체 간의 결합도가 낮아진다.
상속(Inheritance)
상속은 이미 정의된 상위 클래스(부모 클래스)의 모든 속성과 연산을 하위 클래스(자식 클래스)가 물려받는 것이다.
-
상속을 이용하면 하위 클래스는 상위 클래스의 모든 속성과 연산을 자신의 클래스내에서 다시 정의하지 않고서도 즉시 자신의 속성으로 사용할 수 있다.
-
하위 클래스는 상위 클래스로부터 상속받은 속성과 연산 외에 새로운 속성과 연산을 첨가하여 사용할 수 있다.
-
상위 클래스의 속성과 연산을 하위 클래스가 사용할 수 없기 떄문에 객체와 클래스의 재사용, 즉 소프트웨어의 재사용을 높이는 중요한 개념이다.
-
다중 상속 : 한 개의 클래스가 두 개 이상의 상위 클래스로부터 속성과 연산을 상속받는 것이다.
다형성(Polymorphism)
다형성은 메시지에 의해 객체가 연산을 수행하게 될 때 하나의 메시지에 대해 각각의 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력을 의미한다.
-
객체(클래스)들은 동일한 메소드명을 사용하여 같은 의미의 응답을 한다.
-
응용 프로그램 상에서 하나의 함수나 연산자가 두 개 이상 서로 다른 클래스의 인스턴스들을 같은 클래스에 속한 인스턴스처럼 수행할 수 있도록 하는 것이다.
'자격증공부 > 정보처리기사_필기' 카테고리의 다른 글
1-3-5장. 공통 모듈 - C (0) | 2020.09.02 |
---|---|
1-3-4장. 모듈 - A (0) | 2020.09.02 |
1-3-2장. 아키텍처 패턴 - A (0) | 2020.09.01 |
1-3-1장. 소프트웨어 아키텍처 - A (0) | 2020.09.01 |
1-2-10장. HCI / UX / 감성공학 - C (0) | 2020.08.31 |