728x90
반응형
📖 참고
2025 시나공 기출문제집 정보처리기사 필기 요약 pdf
2025년도 정보처리기사 시험일정
📂 정보처리기사 필기 1과목 소프트웨어 설계
01. [필기 | 소프트웨어 설계] 소프트웨어 생명 주기 모형
02. [필기 | 소프트웨어 설계] 스크럼과 XP
03. [필기 | 소프트웨어 설계] 현행 시스템 파악 / 데이터베이스 관리 시스템(DBMS) / 웹 에플리케이션 서버(AWS)
04. [필기 | 소프트웨어 설계] 요구사항 정의
05. [필기 | 소프트웨어 설계] 요구사항 분석
06. [필기 | 소프트웨어 설계] UML(Unified Modeling Language)
07. [필기 | 소프트웨어 설계] 사용자 인터페이스(UI)
08. [필기 | 소프트웨어 설계] 품질 요구사항
09. [필기 | 소프트웨어 설계] 소프트웨어 아키텍처 설계
10. [필기 | 소프트웨어 설계] 패턴
11. [필기 | 소프트웨어 설계] 객체와 클래스
12. [필기 | 소프트웨어 설계] 객체지향
13. [필기 | 소프트웨어 설계] 모듈
14. [필기 | 소프트웨어 설계] 코드
15. [필기 | 소프트웨어 설계] 디자인 패턴
16. [필기 | 소프트웨어 설계] 시스템 연계
✏️ 객체(Object)
- 객체는 데이터와 데이터를 처리하는 함수를 묶어놓은(캡슐화한) 하나의 소프트웨어 모듈
- 데이터
- 객체가 가지고 있는 정보로 속성이나 상태, 분류 등을 나타냄
- 속성(Attribute), 상태, 변수, 상수, 자료 구조라고도 함
- 함수
- 객체가 수행하는 기능으로 객체가 갖는 데이터(속성, 상태)를 처리하는 알고리즘
- 객체의 상태를 참조하거나 변경하는 수단이 되는 것으로 메소드(Method, 행위), 서비스(Service), 동작(Operation), 연산이라고도 함
- 데이터
- 객체의 메소드는 다른 객체로부터 메세지를 받았을 때, 정해진 기능을 수행함
- 객체의 특성
- 객체는 독립적으로 식별 가능한 이름을 가지고 있음
- 객체가 가질 수 있는 조건을 상태(State)라고 하며, 일반적으로 상태는 시간에 따라 변함
- 객체와 객체는 상호 연관성에 의한 관계가 형성됨
- 객체가 반응 할 수 있는 메세지(Message)의 집합을 행위라고 하며, 객체는 행위의 특징을 나타낼 수 있음
- 객체는 일정한 기억장소를 가지고 있음
메세지(Message)
객체들 간에 상호작용을 하는 데 사용되는 수단으로, 객체에게 어떤 행위를 하도록 지시하는 명령 또는 요구사항
✏️ 클래스(Class)
클래스는 공통된 속성과 연산(행위)을 갖는 객체의 집합으로, 객체의 일반적인 타입(Type)을 의미함
- 클래스는 각각의 객체들이 갖는 속성과 연산을 정의하고 있는 틀
- 클래스는 객체지향 프로그램에서 데이터를 추상화하는 단위
- 클레스에 속한 각각의 객체를 인스턴스(Instance)라 하며, 클래스로부터 새로운 객체를 생성하는 것을 인스턴스화(Instantiation)라고 함
✏️ 캡슐화(Encapsulation)
캡슐화는 데이터(속성)와 데이터를 처리하는 함수를 하나로 묶는 것을 의미함
- 캡슐화된 객체는 인터페이스를 제외한 세부 내용이 은폐(정보 은닉)되어 외부에서의 접근이 제한적이기 때문에 외부 모듈의 변경으로 인한 파급 효과가 적음
- 캡슐화된 객체들은 재사용이 용이함
- 객체들 간의 메세지를 주고받을 때 상대 객체의 세부내용은 알 수 없으므로, 인터페이스가 단순해지고, 객체 간의 결합도가 낮아짐
✏️ 상속(Inheritance)
상속은 이미 정의된 상위 클래스(부모 클래스)의 모든 속성과 연산을 하위 클래스(자식 클래스)가 물려받는 것
- 상속을 이용하면 하위 클래스는 상위 클래스의 모든 속성과 연산을 자신의 클래스 내에서 다시 정의하지 않고서도 즉시 자신의 속성으로 사용 할 수 있음
- 하위 클래스는 상위 클래스로부터 상속받은 속성과 연산 외에 새로운 속성과 연산을 첨가하여 사용할 수 있음
✏️ 다형성(Polymorphism)
다형성은 메세지에 의해 객체(클래스)가 연산을 수행하게 될 때, 하나의 메세지에 대해 각각의 객체(클래스)가 가지고 있는 고유한 방법(특성)으로 응답할 수 있는 능력을 의미함
- 객체(클래스)들은 동일한 메소드명을 사용하며, 같은 의미의 응답을 함
- 응용 프로그램 상에서 하나의 함수나 연산자가 두 개 이상의 서로 다른 클래스의 인스턴스들을 같은 클래스에 속한 인스턴스처럼 수행 할 수 있도록 하는 것
예시
- + 기호 :
숫자 클래스에서는 덧셈, 문자클래스에서는 문자열의 연결 기능으로 사용됨 - 오버로딩(Overloading) 기능 :
메소드(Method)의 이름은 같지만, 인수를 받는 자료형과 개수를 달리하여 여러 기능을 정의 할 수 있음 - 오버라이딩(Overriding, 메소드 재정의) 기능 :
상위 클래스에서 정의한 매소드(Method)와 이름은 같지만, 메소드 안의 실행 코드를 달리하여 자식 클래스에서 재정의해서 사용할 수 있음
✏️ 연관성(Relationship)
두 개 이상의 객체(클래스)들이 상호 참조하는 관계
종류 | 의미 | 특징 |
is member of | 연관화(Association) | 2개 이상의 객체가 상호 관련되어 있음 |
is instance of | 분류화(Classfication) | 동일한 형의 특성을 갖는 객체들을 모아 구성하는 것 |
is part of | 집단화(Aggregation) | 관련 있는 객체들을 묶어 하나의 상위 객체를 구성 |
is a | 일반화(Generalization) | 공통적인 성질들로 추상화한 상위 객체를 구성 |
특수화/상세화(Specialization) | 상위 객체를 구체화하여 하위 객체를 구성 |
728x90
반응형
'자격증 > 정보처리기사' 카테고리의 다른 글
[필기 | 소프트웨어 설계] 모듈 (0) | 2025.03.14 |
---|---|
[필기 | 소프트웨어 설계] 객체지향 (0) | 2025.03.12 |
[필기 | 소프트웨어 설계] 패턴 (1) | 2025.03.11 |
[필기 | 소프트웨어 설계] 소프트웨어 아키텍처 설계 (0) | 2025.03.11 |
[필기 | 소프트웨어 설계] 품질 요구사항 (0) | 2025.03.10 |