1. 메모
프로시저(Procedure) : 어떠한 업무를 수행하기 위한 절차
Trade-Off : 하나를 얻으면 다른 하나를 잃을 수 있는 관계 즉, 상충관계
2. Point
코드의 종류
- 순차 코드(Sequential Code) : 가나다순, 크기순 등 순차적으로 부여하는 코드
- 블록 코드(Block Code) : 공통적인 특징을 띄는 성질끼리 블록으로 묶어 구분하고 순착적으로 부여하는 코드로 부서 코드를 예시로 들 수 있다.
- 그룹 분류 코드(Group Classification Code) : 대, 중, 소분류와 같이 그룹별로 구분하여 순차적으로 부여하는 코드로 학번 코드를 예시로 들 수 있다.
- 10진 코드(Decimal Code) :10진법 원리에 맞추어 대, 중, 소분류로 부여하는 코드로 도서 분류 코드를 예로 들 수 있다.
- 표의 숫자 코드(Significant Digit Code) : 대상 항목의 크기, 중량 등을 사용하여 부여하는 코드
- 연상기호 코드(Mnemonic Code) : 대상과 관계있는 문자나 숫자를 조합하여 만든 코드
- 약자식 코드(Letter Type Code) : 제도적으로 널리 사용되는 문자를 그대로 사용하는 코드로 kg, cm 등을 예시로 들 수 있다.
팬 인, 팬 아웃
- 팬 인(Fan-In) : 특정 모듈을 직접 제어하는 모듈의 수
- 팬 아웃(Fan-Out) : 한 모듈에 의하여 제어되는 모듈의 수
- 팬 인, 팬 아웃 계산 예시
Module | Fan-In | Fan-Out |
A | 0 | 3 |
B | 1 | 2 |
C | 1 | 1 |
D | 1 | 1 |
E | 1 | 0 |
F | 3 | 2 |
G | 1 | 0 |
H | 1 | 0 |
객체 지향 기본 개념
- 객체(Object) : 현실세계에 존재할 수 있는 유, 무형의 모든 대상
- 속성(Attribute) : 객체가 가지는 특성으로 객체의 현재 상태를 의미
- 클래스(Class) : 공통된 행위와 특성을 가지는 객체의 집합
- 메시지(Message) : 외부에서 하나의 객체에 보내지는 메소드의 요구로 함수 호출에 해당
- 메소드(Method) : 객체의 동작을 규정하고 속상의 값을 변경
- 인스턴스(Instance) : 클래스로부터 만들어진 객체
- 다형성(Polymorphism) : 2개 이상의 클래스가 똑같은 메시지에 대해 객체가 서로 다르게 반응
- 상속성(Inheritance) : 새로운 클래스를 정의할 때 기존의 클래스들의 속성을 상속받는 것
- 캡슐화(Encapsulation) : 객체 정의 시에 서로 관련된 데이터와 함수를 묶어 외부와 경계를 만들어 필요한 인터페이스만을 외부로 드러내는 과정
- 정보은닉(Information Hiding) : 외부에서 알아야 할 부분만 공개하고, 나머지는 숨기는 것
객체지향의 연관성
구분 | 관계성 종류 | 내용 |
연관화 (Association) |
is member of | 공통의 의미를 서로 연관된 집단으로 표현 |
분류화 (Classification) |
is instance of | 동일한 형의 특성을 갖는 객체가 모여 클래스를 구성 |
집단화 (Aggregation) |
is part of | 서로 관련 있는 여러 개의 객체를 묶어 한 개의 상위 객체를 생성 |
일반화 (Generalization) |
is a | 공통적인 성질들을 상위 객체로 정의 |
디자인 패턴 분류
분류 | 종류 |
생성 패턴 (Creational Pattern) |
- Abstract Factory - Builder - Prototype - Factory Method - Singleton |
구조 패턴 (Structural Pattern) |
- Proxy - Flyweight - Bridge - Adapter - Composite - Decorator - Facade |
행위 패턴 (Behavioral Pattern) |
- Chain of Responsibility - Command - Interpreter - Mediator - Iterator - Memento - Observer - State - Vistor - Strategy - Template Method |
3. 오답 노트
설계의 기본 원리 중에서 문제의 영역들을 각각의 기능 모듈 단위로 세분화하여 모듈간의 관계를 구조적으로 설계하는 과정은 ?
1. Modularity
2. Aggregation
3. Structure
4. Abstraction
위 설명은 Structure(구조화)에 대한 설명이다.
다음 중 객체지향 기법의 용어에 대한 설명이 올바르지 않은 것은 ?
1. 메시지 : 파일, 메소드, 패키지와 같이 프로그래밍 언어 단위로 정의된 컴포넌트
2. 객체 : 필요로 하는 데이터와 이 데이터를 처리하는 함수들을 가진 작은 소프트웨어 모듈
3. 상속 : 어떤 클래스에 정의된 요소가 다른 클래스에 의하여 소유된 것
4. 메소드 : 오퍼레이션의 구현, 클래스가 있는 프로시저
메시지는 한 컴포넌트에서 다른 컴포넌트로 정보를 보내는 것을 의미한다.
GoF(Gang of Four) 디자인 패턴과 관련한 설명으로 틀린 것은 ?
1. 디자인 패턴을 목적으로 분류할 때 생성, 구조, 행위로 분류할 수 있다.
2. Strategy 패턴은 대표적인 구조 패턴으로 인스턴스를 복재하여 사용하는 구조를 말한다.
3. 행위 패턴은 클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법을 정의한다.
4. Singleton 패턴은 특정 클래스의 인스턴스가 오직 하나임을 보장하고, 이 인스턴스에 대한 접근 방법을 제공한다.
Strategy 패턴은 교환 가능한 행동을 캡슐화하고 위임을 통해서 어떤 행동을 사용할지 결정한다.
개인 공부를 위한 게시물로 틀린 내용을 포함할 수 있는 점 참고 부탁드립니다.
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] Part 1 소프트웨어 설계 오답 노트 (1) | 2023.12.07 |
---|---|
[정보처리기사 필기] Part 1 소프트웨어 설계 Chapter 4 인터페이스 설계 공부 (0) | 2023.11.30 |
[정보처리기사 필기] Part 1 소프트웨어 설계 Chapter 2 화면 설계 공부 (0) | 2023.11.29 |
[정보처리기사 필기] Part 1 소프트웨어 설계 Chapter 1 요구사항 확인 공부 (0) | 2023.11.28 |
2023년도 정보처리기사 공부를 시작하며 (5) | 2022.12.28 |
댓글