객체지향 소프트웨어의 필요성 

객체 = 하나의 오브젝트

데이터와 데이터를 처리하는 함수를(메소드)를 묶어 놓은 하나의 소프트웨어 모듈

 

객체의 특성

  • 독립적으로 식별이 가능한 이름을 가지고 있다.
  • 객체가 가질 수 있는 조건인 상태는 시간에 따라 변한다.
  • 객체는 반응할 수 있는 메세지의 집합인 행위 특징이 있다.

객체의 메소드는 다른 객체로부터 메세지를 받았을 때 정해진 기능을 수행 

 

 

클래스 

공통된 속성솨 연산(행위)을 갖는 객체의 집합으로, 객체의 일반적인 타입(Type)의미

각가의 객체들이 갖는 속성과 연산을 정의하고 있는 틀

객체지향 프로그램에서 데이터를 추상화하는 단위

클래스에서 속한 각각의 객체를 인스턴스(Instance)라 하며, 클래스로부터 새로운 객체를 생성하는 것을

인스턴스화(Instantiation) 

캡슐화 

데이터(속성)와 데이터를 처리하는 함수를 하나로 묶는 것 

캡슐화된 객체는 인터페이스를 제외한 세부 내용이 은폐(정보은닉) 되어 외부에서의 접근니 제한적이기 떄문에 외부 
묘듈의 변경으로 인한 파급 효과가 적다.

 

상속 (Ingeritance)

이미 정의된 상위 클래스 (부모 클래스)의 모든 속성과 연산을 하위 클래스 (자식 클래스가) 물려받는 것




다형성 (Polymorphism)

메시지에 의해 객체(클래스)가 연산을 수행하게 될 떄 하나의 메세지에 대해 각가의 객체(클래스가) 가지고 있는

고유한 방법 (특성)으로 응답할 수 있는 능력

 

객체지향 설계

재새용성을 높힘 

객재체향 분석의 방법론 

Rumbaugh : 가장 일반적으로 사용되는 방법으로 분석 활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행하는 방법

Booch  : 미시적(Micro) 개발 프로세스와 거시적 ( Macro) 개발 프로세스를 모두 사용 하는 분석 방법으로, 클래스와 객체들을 분석 및 식벽하고 클래스의 속성과 연산을 정의

 

Jacobson : Use Cas를 강조하여 사용하는 분석 방법

Coad와 Yourdon 방법 : E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주제 정의, 속성과

인스턴스 연결 정의, 연산과 메세지 연결 정의 등의 과정으로 구성하는 기법

 

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


 

객체지향 설계 원칙

단일 책임 원칙             ( SRP, Single Responsibility Rinciple ) 객체는 단 하나의 책임만 가져야 한다는 원칙
개방-폐쇄 원칙            ( OCP, Open-Closed Principle )  기존의 코드를 변경하지 않고 기능을 추가할 수 있도록
설계해야 한다는 원칙
리스코프 치환 원칙     ( LSP, Liskov Substiution Principle ) 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 
수행할 수 있어야 한다는 설계 원칙
인터페이스 분리 원칙 ( ISP, Interface Segregation Principle ) 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나
영향을 받지 않아야 한다는 원칙
의존 역전 원칙           ( DIP, Dependency Inversion Principle ) 각 객체들 간의 의존 관계가 성립될 때, 추상성이 낮은 클래스보다 추상성이 높은 클래스와 의존 관계를 맺어야 한다는 원칙

 

디자인 패턴 (Design Pattern) 의 개요 

생성 패턴 : 객체를 어떻게 생성할 것인가
구조 패턴 : 생성된 객체를 어떻게 조합/ 합성 할 것인가
행동 패턴 : 객체들을 어떻게 상호작용하고 어떻게 책임을 가져가는가

 

 



'세종사이버대학교 > 정보처리기사' 카테고리의 다른 글

정보처리기사 3주차  (0) 2024.09.22
소프트웨어 설계1 (1주 차)  (1) 2024.09.08

+ Recent posts