클래스(Class)
- 공통된 속성과 연산(행위)을 갖는 객체의 집합이다.
- 클래스에 속한 각각의 객체를 인스턴스(Instance)라 한다.
- 객체지향 프로그램에서 데이터를 추상화하는 단위이다.
캡슐화(Encapsulation)
- 데이터와 데이터를 처리하는 함수를 하나로 묶는 것을 의미한다.
- 외부 모듈의 변경으로 인한 파급 효과가 적다.
- 인터페이스가 단순화된다.
- 재사용이 용이하다.
상속(Inheritance)
상위 클래스(부모 클래스)의 모든 속성과 연산을 하위 클래스(자식 클래스)가 물려받는 것이다.
다형성(Polymorphism)
- 오버로딩(Overloading) : 메소드의 이름은 같지만 인수를 받는 자료형과 개수를 달리하여 여러 기능을 정의할 수 있음
- 오버라이딩(Overriding) : 메소드의 일음은 같지만 메소드 안의 실행 코드를 달리하여 자식 클래스에서 재정의해서 사용할 수 있음
객체지향분석 방법론 - Coad와 Yourdon 방법
- E-R 다이어그램을 사용하여 객체의 행위를 모델링한다.
- 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결 정의 등의 과정으로 구성하는 기법이다.
럼바우(Rumbaugh)의 분석 기법
- 객체(Object) 모델링 : 정보 모델링이라고도 하며, 객체들 간의 관계를 규정하여 객체 다이어그램으로 표시하는 것
- 동적(Dynamic) 모델링 : 상태 다이어그램을 이용하여 객체들 간의 동적인 행위를 표현하는 모델링
- 기능(Functional) 모델링 : 자료 흐름도를 이용하여 자료 흐름을 표현한 모델링
객체지향 설계 원칙(SOLID 원칙)
- 단일 책임 원칙(SRP; Single Responsibility Principle) : 객체는 단 하나의 책임만 가져야 한다는 원칙
- 개방-폐쇄 원칙(OCP; Open-Closed Principle) : 기존의 코드를 변경하지 않고 기능을 추가할 수 있도록 설계해야 한다는 원칙
- 리스코프 치환 원칙(LSP; Liskov Substitution Principle) : 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다는 설계 원칙
- 인터페이스 분리 원칙(ISP; Interface Segregation Principle) : 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 한다는 원칙
- 의존 역전 원칙(DIP; Dependency Inversion Principle) : 각 객체들 간의 의존 관계가 성립될 때, 추상성이 낮은 클래스보다 추상성이 높은 클래스와 의존 관계를 맺어야 한다는 원칙
모듈(Module)
- 모듈화를 통해 분리된 시스템의 각 기능들이다.
- 단독으로 컴파일이 가능하다.
- 재사용 할 수 있다.
- 다른 모듈에서의 접근이 가능하다.
결합도의 정도(약함→강함)

데스형 제 외저래 공유랑 내가 닮았대
결합도의 종류
- 자료(Data) 결합도 : 모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합도
- 스탬프(Stamp) 결합도 : 배열이나 레코드 등의 자료 구조가 전달될 때의 결합도
- 제어(Control) 결합도 : 제어 신호를 이용하여 통신하거나 제어 요소를 전달하는 결합도
- 외부(External) 결합도 : 데이터(변수)를 외부의 다른 모듈에서 참조할 때의 결합도
- 공통(Common) 결합도 : 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도
- 내용(Content) 결합도 : 다른 모듈의 내부 자료를 직접 참조하거나 수정할 때의 결합도
응집도의 정도(약함→강함)

우리 논 시절 먹었던 통통한 순대 참 기가 막혔지
주요 응집도
- 절차적(Procedural) 응집도 : 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우의 응집도
- 시간적(Temporal) 응집도 : 특정 시간에 처리되는 몇 개의 기능을 모아 하나의 모듈로 작성할 경우의 응집도
- 우연적(Coincidental) 응집도 : 각 구성 요소들이 서로 관련 없는 요소로만 구성된 경우의 응집도
팬인(Fan-In) / 팬아웃(Fan-Out)
- 팬인 : 어떤 모듈을 제어(호출)하는 모듈의 수
- 팬아웃 : 어떤 모듈에 의해 제어(호출)되는 모듈의 수
- 다음의 시스템 구조도에서 각 모듈의 팬인(Fan-In)과 팬아웃(Fan-Out)을 구한다면 다음과 같다.

- 팬인(Fan-In) : A는 0, B/C/D/E/G는 1, F/H/I는 2
- 팬아웃(Fan-Out) : H/I는 0, C/E/F/G는 1, B/D는 2, A는 3
NS 차트
- 논리의 기술에 중점을 둔 도형을 이용한 표현 방법이다.
- 연속, 선택 및 다중 선택, 반복 등의 제어 논리 구조를 표현한다.
- GOTO나 화살표를 사용하지 않는다.
- 시각적으로 명확히 식별하는 데 적합하다.
- 이해하기 쉽고, 코드 변환이 용이하다.
재사용(Reuse)
- 이미 개발된 기능을 새로운 시스템이나 기능 개발에 사용할 수 있는 정도를 의미한다.
- 재사용 규모에 따른 분류 : 함수와 객체, 컴포넌트, 애플리케이션
'자격증 > 정보처리기사' 카테고리의 다른 글
| 소프트웨어 개발(2) (0) | 2025.05.26 |
|---|---|
| 소프트웨어 개발(1) (0) | 2025.05.12 |
| 소프트웨어 설계(4) (0) | 2025.05.09 |
| 소프트웨어 설계(2) (0) | 2025.04.09 |
| 소프트웨어 설계(1) (0) | 2025.03.25 |