개체란?
: 하나의 정보단위로 속성attribute가 모여 하나의 정보단위를 이룬 것
: 개체들 사이의 연관성 = 관계
객체란?
: 실세계에 존재하거나 생각할 수 있는 것, 식별가능한 이름, 상호연관성에 의한 관계가 형성됨
: 데이터와 데이터를 처리하는 함수를 캡슐화한 하나의 모듈, 반응가능한 메시지(행위)의 집합
→속성, 상태(조건), 변수, 상수 자료구조 →객체상태 참조, 수단: 메소드, 서비스, 동작, 연산
: 클래스Class의 인스턴스Instance
인스턴스란?
: 객체를 실체화 한 것, 클래스에 속한 각 객체
클래스란?
: 공통된 속성attribute과 변수, 메서드, 연산을 갖는 객체들의 집합, 데이터를 추상화하는 단위
: 객체를 생성하기 위한 설계도/ 틀
객체지향
: 개체entity를 객체로 조립하여 작성할 수 있는 기법, 비절차적 언어
: 재사용/ 확장/ 유지보수가 용이함, 단계적/계층적표현으로 복잡한구조
> 구성 : 객체, 인스턴스, 클래스
> 설계원칙
> 설계절차 : 문제정의→ 요구 명세화→ 객체 연산자 정의→ 객체 인터페이스 결정→ 객체 구현
객체지향 기법
: 객체-속성/ 클래스-멤버 / 전체-부분(집단화) 으로 나누어 분석
집단화 : 부분과 전체, 부분과 부분의 관계로 설명되는 연관성
> 분석 방법론
Coad-Yourdon | : 개체-관계모델 E-R다이어그램을 사용하여 객체의 행위를 데이터 모델링에 초점을 둔 방법 |
럼바우 | : 데이터와 행위를 하나로 묶어 객체를 정의하여 추상화 시키는 방법 : 코드를 재사용하여 생산성 향상과 시스템 변경용이 |
분석활동 (객 동 기) |
정보 - 객체모델링 : 객체 다이어그램, 시스템에서 요구하는 객체 찾기, 가장중요, 객체 관계를 규정하여 표시함 상태 - 동적모델링 : 상태다이어그램(상태도), 시간의 흐름에따라 동적인 행위를 표현함 흐름 - 기능모델링 : 자료흐름도 DFD, 처리과정을 표현, 구조적분석 > 구성요소 : 프로세스(○), 자료흐름(→), 저장소(-), 단말(□) > 기능모형설계 순서 : 입출력결정→ DFD작성→ 기능기술→ 제약사항 결정/최소화 > 지침사항 : 프로세스 거쳐 변환시 새 이름을 부여함 **프로세스가 출력자료 산출시 반드시 입력자료를 발생해야 함, 상위단계Process는 하위DFD의 자료흐름 |
Booch | : 미시적- 거시적 객체지향 방법 |
정보은닉
: 다른 모듈 구현에 영향받지 않게 설계, 모듈간 독립성 유지, 객체 속성/ 오퍼레이션의 일부를 감추어 외부접근 방지
: 대상 - 기본정보(IP,주소)같은 물리적 코드와 상세데이터 구조
캡슐화
: 중요 데이터를 보존/보호, 인터페이스만 밖으로 드러내며 그외 세부내용은 정보은닉 →외부모듈의 변경에 의한 영향 적음
: 외부에서 특정 메소드, 속성에 접근하지 못하도록 함 → 객체손상 방지, 재사용 용이, 오류파급 효과 적음
상속
: 자식이 부모를 선택, 부모클래스를 재사용하여 개발속도 향상됨 (하위 객체/클래스 기능 = 상위 객체/클래스 기능 + a)
: 코드중복 감소, 유지보수 용이, 객체의 다형성 구현가능
다형성
: 동일타입, 실행결과가 다양한 객체를 이용할 수 있는 성질, 자식객체들이 다른형태의 특성을 갖는 객체로 이용가능
: 객체/ 클래스는 동일한 메소드명 사용함, 객체 부품화 가능, 자식타입은 부모타입으로 자동 타입변환
추상화
: 불필요한 부분 생략, 객체 속성 중 가장 중요한것에 중점을 두어 모델화 한 것
: 완전한 시스템 구축 전, 시스템과 유사한 모델을 만들어 여러 요인들을 테스트 가능함
> 과정추상화(전반적 흐름파악 설계)
> 데이터추상화(속성/용도 정의하지 않고 구조를 대표하는 표현으로 대체)
> 제어 추상화(이벤트 발생 절차와 방법 정의하지 않고 대표하는 표현으로 대체)
'정보처리기사' 카테고리의 다른 글
정보처리기사) 소프트웨어(6) - 모듈/ 결합도/ 응집도 (0) | 2022.02.02 |
---|---|
정보처리기사) 소프트웨어(5) - GOF디자인패턴/ 모델링 /CMM모델 (0) | 2022.02.02 |
정보처리기사) 소프트웨어(3) - 생명주기/ 비용산정/ 개발 방법론 (0) | 2022.02.02 |
정보처리기사) 소프트웨어(2) - SW설계/ 형상, 버전, 결함, 일정관리/ CASE도구 (0) | 2022.02.02 |
정보처리기사) 소프트웨어(1) - 인터페이스/ UI/ 아키텍처 (0) | 2022.02.02 |