1. 객체지향
- 소프트웨어 개발시에 객체들을 조립해서 작성할 수 있는 기법
- 소프트웨어의 재사용성 및 확장 용이, 유지보수 쉬움
- 복잡한 구조를 단계적 계층적으로 표현
- 구성요소 : 객체, 클래스, 캡슐화, 상속, 다형성 등
2. 객체 (Object)
- 데이터와 데이터를 처리하는 함수를 묶어놓은 하나의 소프트웨어 모듈
- 데이터 = 속성, 상태, 변수, 상수, 자료구조
- 함수 = 메소드, 서비스, 동작, 행위
- 독립적으로 식별 가능한 이름을 가짐
- 객체를 가질 수 있는 조건 = 상태 (State)
3. 클래스 (Class)
- 공통된 속성과 연산을 갖는 객체의 집합, 객체의 일반적인 타입을 의미
- 각각의 객체들이 갖는 속성과 연산을 정의하고 있는 틀
- 데이터를 추상화하는 단위
- 클래스에 속한 각각의 객체 = 인스턴스(Instance)
- 동일한 클래스에 속한 각각의 개체들은 공통된 속성과 행위를 갖음
4. 캡슐화(Encapsulation)
- 데이터와 데이터를 처리하는 함수를 하나로 묶은 것을 의미
- 불필요한 기능 최소화
- 소프트웨어 개발 비용 절감
- 개발 속도 향상
5. 상속(Inheritance)
- 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것
- 다중 상속 : 한 개의 클래스가 두 개 이상의 상위 클래스로부터 속성과 연산을 상속 받는 것
6. 다형성(Polymorphism)
- 하나의 메시지에 대해 여러 가지 형태의 응답이 있는 것
'정보처리기사 (필기) > 1. 소프트웨어 설계' 카테고리의 다른 글
[정보처리기사] 1-10. 디자인 패턴 (0) | 2022.04.22 |
---|---|
[정보처리기사] 1-9. 결합도와 응집도 (0) | 2022.04.19 |
[정보처리기사] 1-7. 소프트웨어 아키텍쳐 및 아키텍쳐 패턴 (0) | 2022.04.19 |
[정보처리기사] 1-6. 사용자 인터페이스 및 품질 요구사항 (0) | 2022.04.19 |
[정보처리기사] CBT 모의고사 202108~202203 개념 - 1과목 (0) | 2022.04.18 |