자격증/정보처리기사

[정보처리기사] 객체지향 ( Object-Oriented )

IT록흐 2021. 10. 6. 13:54
반응형

객체지향

각 요소들을 객체(Object)로 만든 후, 객체들을 조립해서 소프트웨어를 개발하는 기법

 

객체지향 구성요소

 

객체(Object) : 데이터와 데이터를 처리하는 함수를 묶어 놓은 SW 모듈

- 데이터 : 객체의 정보, 속성, 상태, 분류

- 함수 : 객체가 수행하는 기능, 객체의 상태를 참조하거나 변경하는 수단

 

클래스(Class) : 공통된 속성과 연산을 갖는 객체의 집합, 각각의 객체를 인스턴스(instance)라고 한다.

메시지(Message) : 객체들 간의 상호작용으로 사용되는 수단, 객체의 동작이나 연산을 일으키는 외부 요구사항

 

 

객체지향 특징

 

캡슐화(Encapsulation) : 외부에서 접근을 제한하기 위해 인터페이스를 제외한 세부내용을 은닉하는 것 ( 정보의 은닉 )

상속(Inheritance) : 상위 클래스의 모든 속성과 연산을 하위클래스가 물려 받는 것

다형성 (Polymorphism) : 하나의 메시지에 대해 각각의 객체가 가지고 있는 고유한 방법으로 응답하는 능력

 

 

연관성(Relationship)

 

두 개 이상의 객체들이 상호 참조하는 관계

 

연관화(Association) (is member of) : 2개 이상의 객체가 상호 관련 있음

분류화(Classfication) (is instance of) : 동일한 형의 특성을 갖는 객체들을 모아 구성

집단화(Aggregation) (is part of) : 관련 있는 객체들을 묶어 하나의 상위 객체를 구성

일반화(Generalization) (is a) : 공통적인 성질들로 추상화한 상위 객체를 구성 

특수화/ 상세화(Specialization) (is a) : 상위 객체를 구체화하여 하위 객체를 구성

 

 

 

객체지향 분석 ( OOA; Object Oriented Analysis )

 

사용자 요구사항과 관련된 객체, 속성, 연산, 관계를 정의 하여 모델링하는 작업

 

객체지향 분석 방법론

 

Rumbaugh(럼바우) 방법 : 모든 소프트웨어 구성요소를 그래픽 표기법으로 모델링하는 기법

객체 모델링 기법 (OMT, Object Modeling Technique) 객체모델링 → 동적모델링 → 기능모델링

분석 활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행함

 

-객체 모델링(Object Modeling) : 객체의 속성과 연산 식별 및 객체들 간의 관계를 객체 다이어그램으로 표시

-동적 모델링(Dynamic Modeling) : 상태다이어그램을 이용하여 시간의 흐름에 따른 객체들 간의 제어 흐름, 상호작용, 동작 순서 등의 동적인 행위를 표현하는 모델링

-기능 모델링(Functional Modeling) : 자료 흐름도(DFD)를 이용하여 다수의 프로세스들 간의 자료 흐름을 중심으로 처리과정을 표현한 모델링

 

Booch(부치) 방법 :  미시적(Micro) 개발 프로세스와 거시저(Macro) 개발 프로세스를 모두 사용함

Jacobson 방법 : 유스케이스를 강조하여 사용함

Coad와 Yourdon 방법 : E-R 다이어그램을 사용하여 객체의 행위를 모델

Wirfs-Brock 방법 : 분석과 설계 간의 구분이 없고 고객 명세서를 평가하여 설계 작업까지 연속적으로 수행

 

객체지향 설계 원칙

 

변경이나 확장에 유연한 시스템을 설계하기 위해 지켜져야 할 원칙

 

단일 책임 원칙(SRP) : 객체는 단 하나의 책임만 가져야 한다.

개방-폐쇄 원칙(OCP) : 기존의 코드를 변경하지 않고 기능을 추가할 수 있어야 한다.

리스코프 치환 원칙(LSP) : 자식 클래스는 최소한 부모 클래스의 기능은 수행할 수 있어야 한다.

인터페이스 분리 원칙(ISP) : 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 한다.

의존 역전 원칙(DIP) : 의존 관계 성립 시 추상성이 높은 클래스와 의존 관계를 맺어야 한다는 원칙

 

 


 

참고자료

 

2021 시나공 정보처리기사 실기

수험생들의 궁금증을 100% 반영시험에 나올만한 내용만 구성시나공 정보처리기사 실기는 NCS 학습 모듈을 가이드 삼아 자세한 설명과 충분한 예제를 더한 후 교재에 수록된 문제나 이론은 하나도

book.naver.com

 

 

 

 

 

 

 

 

반응형