이야기박스
정보처리기사 - 1과목 객체지향, 설계 정리 본문
§ 객체지향 기법
: 현실 세계의 개체를 하나의 객체로 만들어 조립해서 작성할 수 있도록 하는 기법
- 구조적 기법의 문제점 해결책
- 재사용 및 확장성
- 복잡한 구조를 단계적이고 계층적으로
- 사용자와 개발자의 이해가 쉬움
- 객체, 클래스, 메시지
- 객체 (Object)
: 데이터와 데이터를 처리하는 함수를 묶어 놓은 캡슐화한 하나의 소프트웨어 모듈
--> 상태와 행위를 가짐
--> 객체의 메소드는 다른 객체로부터 메시지를 받았을 때 수행
a. 데이터
: 객체가 가지고 있는 정보
--> 속성, 상태, 분류 등
--> 속성, 상태, 변수, 상수, 자료 구조 라고도 불림
b. 함수
: 객체가 수행하는 기능
--> 데이터를 처리하는 알고리즘
--> 메소드, 서비스, 동작, 연산 이라고도 불림
--> 구조적 기법의 함수, 프로시저에 해당하는 기능
- 클래스 (Class)
: 공통된 속성과 연산을 갖는 객체의 집합
--> 객체의 일반적인 타입
--> 객체의 속성와 연산을 정의하는 틀
--> 클래스에 속한 각각의 객체 = 인스턴스
--> 클래스로부터 새로운 객체 생성 = 인스턴스화
--> 동일 클래스에 속한 각각의 객체들은 공통된 속성과 행위를 가짐
--> 최상위 클래스 = 상위 클래스를 갖지 않는 유일한 클래스
--> 슈퍼 클래스 = 특정 클래스의 상위 클래스
--> 서브 클래스 = 특정 클래스의 자식 클래스
- 메시지 (Message)
: 객체들 간에 상호작용을 하는 데 사용되는 수단
--> 객체에게 어떤 행위를 하도록 지시하는 명령 또는 요구사항
--> 구성 요소 = 객체의 이름, 메소드 이름, 메소드 인자
--> 메시지를 받은 수신 객체는 요구된 메소드를 수행 후 결과를 반환
§ 객체지향 기법의 기본 원칙
- 캡슐화
: 데이터와 함수를 하나로 묶는 것
--> 객체의 세부 내용이 외부에 은폐, 변경이 발생할 때 오류의 파급 효과가 적다.
--> 재사용이 용이
--> 인터페이스가 단순해지고 객체간 결합도가 낮아짐
- 정보 은닉
: 다른 객체에게 자신의 정보를 숨기고 자신만의 연산만을 통하여 접근
--> 각 객체의 수정이 다른 객체에게 주는 영향을 최소화
--> 유지보수와 소프트웨어 확장 시 오류 최소화
- 추상화
: 불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것에만 중점두어 개략하는 것
--> 모델화
--> 최소의 비용으로 실제 상황에 대처 가능
--> 시스템의 구조 및 구성을 가시적으로 볼 수 있음
- 상속성
: 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것
--> 새로운 속성과 연산 첨가 가능
--> 재사용을 증대
--> 다중 상속성 = 두 개 이상의 상위 클래스로부터 상속 받는 것
- 다형성
: 메시지에 의해 객체가 연산을 수행할 때, 하나의 메시지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답하는 것
--> 동일한 메소드명으로 같은 의미의 응답
--> 정수 + , 문자열 + 생각
§ 생명 주기
: 계획 및 분석
--> 설계
--> 구현
--> 테스트 및 검증
- 분석 ( OOA ; Object Oriented Analysis )
: 모든 클래스간의 관계 등을 정의하여 모델링하는 것
- 설계 ( OOD ; Object Oriented Design )
: OOA를 사용해 설계로 변환
--> 시스템 설계, 객체 설계
--> 과정 = 문제 정의 -> 요구 명세화 -> 객체 연산자 정의 -> 객체 인터페이스 결정 -> 객체 구현
- 구현 ( OOP ; Object Oriented Programing )
: 새로운 개념의 모듈 단위, 즉 객체라는 단위를 중심으로 하여 프로그램 개발
--> 언어 구분
a. 객체 기반 언어 = Ada, Actor ~ 객체의 개념만 지원
b. 클래스 기반 언어 = Clu ~ 클래스 개념만 지원
c. 객체 지향성 언어 = c++, java, object c ~ 객체, 클래스, 상속의 개념을 모두 지원
- 테스트
a. 클래스 테스트 : 캡슐화된 클래스나 객체 검사
b. 통합 테스트 : 스레드 기반 테스트, 사용 기반 테스트
c. 확인 테스트 : 만족 여부
d. 시스템 테스트 : 올바른 기능 수행하는지
§ 아키텍처 스타일
- IEEE 1471
: 아키텍처가 표현해야 하는 요소와 내용, 관계를 규정하는 국제 표준
- 저장소 구조
: 중앙자료구조와 독립된 컴포넌트로 구성
--> 큰 데이터의 이동 및 공유에 적합
--> 컴포넌트간의 통신은 이뤄지지 않음
- MVC 구조
: Model, View, Controller
--> 유저 인터페이스와 비지니스 로직들을 서로 분리하여 개발하는 방법
- Client / Server 구조
: 클라이언트와 서버로 나눈 아키텍처
--> 일대다 관계
--> 서버는 분산 또는 하나의 서버
- 계층 구조
: 계층적으로 조직화 가능
--> 각 계층이 특정 측면을 전문적으로 다룸
--> 응집력 있는 설계 가능
--> OSI 7계층이 대표적
- 파이프 필터 구조
: 데이터의 흐름을 점진적으로 처리하는 시스템
--> 데이터는 인접 필터 사이의 파이프를 통해 전달되는 형태
--> 각 필터는 상호 독립적
--> 독립적이기 때문에 재사용성 가짐
--> 응답성이나 데드락과 같은 특수한 분석 지원
'Other Fields > 정보처리기사' 카테고리의 다른 글
정보처리기사 - 2과목 데이터베이스 (0) | 2017.10.13 |
---|---|
정보처리기사 - 4과목 신기술 4 (0) | 2017.10.12 |
정보처리기사 - 4과목 신기술 3 (0) | 2017.10.12 |
정보처리기사 - 4과목 신기술 2 (0) | 2017.10.10 |
정보처리기사 - 4과목 신기술 1 (0) | 2017.10.10 |