Pink Transparent Star

이외 개발 스터디/정보처리기사

[ 정보처리기사 ] 1과목 - 애플리케이션 설계 2

채유나 2024. 3. 27. 17:41
728x90

객체 지향(Object Oriented)

: 실 세계의 개체를 속성과 메서드로 결합한 형태의 객체로 표현하는 개념

객체들을 조립해서 작성할 수 있는 기법, 재사용 용이, 모형화, 확장 용이

 

객체

: 데이터와 그 데이터에 관련되는 동작을 모두 포함한 개념

 

객체 지향 구성요소

객체 / 클래스 / 메서드 / 메시지 / 인스턴스 / 속성

구성요소 설명
클래스(Class) 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 데이터 추상화
객체(Object) 자신 고유의 데이터를 가지며 클래스에서 정의한 행위를 수행
메서드(Method) 클래스로부터 생성된 객체를 사용하는 방법, 객체에 명령을 내리는 메시지
메시지(Message) 객체에게 어떤 행위를 하도록 지시하기 위한 방법
인스턴스(Instance) 클래스에 속한 각각의 객체
속성(Property) 한 클래스 내에 속한 객체들이 가지고 있는 데이터 값들을 단위별로 정의

 

객체지향 기법

🔸 캡슐화 ( Encapsulation) : 정보 은닉과 관련, 데이터와 함수를 하나로 묶는 것, 결합도가 낮아짐

🔸 상속석 ( Inheritance ) : 상위 클래스의 모든 속성과 연산을 바로 사용 가능 재사용을 높임

🔸 추상화 ( Abstraction ) : 단순화 시켜서 나타냄

🔸 다형성 ( Polymorphism ) : 객체(클래스)들을 동일한 메소드명을 사용하며 같은 의미의 응답

 

모듈화

모듈

소프트웨어를 각 기능별로 분할하는 것, 소프트웨어 구조를 이루는 기본 단위

모듈과 모듈간의 연관이 없어야 한다.( 응집도는 높고 결합도는 낮아야함 )

 

🔸 모듈화는 독립성이 높아야하고 독립성은 결합도와 응집도에 의해 측정

 

🔷 결합도(Coupling) : 

모듈 간의 상호의존도 측정, 연관 관계

결합도는 약할수록 좋다.

 

🌟 외우는 법 ( 어느 링크에서 ㅂ..봤다)

 : (자)위 섹(스) (제)(외)하면 (공)놀이가 (내) 취미임

결합도 강함

  











결합도 약함
내용 결합도(Content Coupling) 다른 모듈의 내부 기능을 직접 참조하거나 수정
공통 결합도(Common Coupling) 공통 데이터 영역을 여러 모듈이 사용할때
외부 결합도(External Coupling) 외부의 다른 모듈에서 참조할때
제어 결합도(Control Coupling) 다른 모듈의 제어 요소가 전달 될 때 사용, 권리 전도 현상
스탬프 결합도(Stamp Coupling) 자료 구조가 전달 될때
자료 결합도(Data Coupling) 모듈과 모듈간의 자료 요소로만 구성

 

 

🔷 응집도(Cohesion) : 

모듈 내에 있는 구성 요소들이 서로 관련되어 있는 정도를 의미

응집도는 강할 수록 좋다

 

🌟 외우는  법

 : 소(우)랑 (논)밭 생각하면 그 (시)(잘) (통)은 (순)(기)였다

응집도 강함













응집도 약함
기능적 응집도(Functional Cohesion) 모듈의 기능 요소들의 단일 문제와 연관 될 때
순차적 응집도(Sequential Cohesion) 출력 데이터를 입력 데이터로 사용 할 때
교환적(통신적) 응집도(Communication Cohesion) 입력, 출력을 사용하여 서로 다른 기능을 수행하는 구성요소들이 모였을 때 ( 동일한 입력, 출력 => 서로 다른 기능)
절차적 응집도(Procedural Cohesion) 모듈 안의 구성 요소들이 기능을 순차적으로 수행할 경우
시간적 응집도(Temporal Cohesion) 특정 시간에 처리되는 기능을 모여 작성
논리적 응집도(Logical Cohesion) 유사한 성격의 요소들로 하나의 모듈이 형성
우연적 응집도(Coincidental Cohesion) 서로 관련 없는 요소로만 구성

 

공통 모듈 :

  전체 프로그램의 기능 중 공통적으로 사용할 수 있는 모듈

  사용자 인증이나 계산식 같은 기능

 

🔸 공통 모듈 명세 작성의 명칙 : 정확성, 명확성, 완전성, 일관성, 추적성

 

정확성 : 시스템 구성을 표현할 때 기능이 필요한 것을 알 수 있도록 정확하게 작성

명확성 : 해당 기능을 표현할 때 중위적으로 해석되지 않도록 작성

완전성 : 시스템 구현을 위한 필요한 모든 것을 기술

일관성 : 공통된 기능들이 상호 충돌이 발생되지 않도록 작성

추적성 : 기능에 대한 요구사항에 대한 출처, 시스템 간의 관계를 파악할 수 있도록 작성

728x90