Challenges/정보처리기사

[정보처리기사]1. 소프트웨어 설계/애플리케이션 설계/객체지향

뚱요 2021. 8. 9. 00:00
반응형

[정보처리기사] 정보처리기사 필기 목차

객체지향(Object-Oriented)

- 객체에 근간을 두고 프로그래밍 구현

- 현실 세계를 모형화, 사용자와 개발자 쉽게 이해

- SW 재사용율, 유지보수성 향상   (X실행속도 향상)

 

1) 객체(Object) 

- 데이터 + 데이터를 변경하는 함수

- 실세계/개념적으로 존재하는 세계의 사물들

- 식별성 독립적으로 식별 가능한 이름을 갖고 있음

- 객체가 가질 수 있는 조건인 상태(State)는 일반적으로 시간에 따라 변함

- 객체와 객체는 상호 연관성에 의한 관계가 형성됨

- 객체가 반응할 수 있는 메시지의 집합을 행위(연산, Method)라고 하며, 객체는 행위의 특징을 나타냄

- 객체는 일정한 기억장소를 갖고 있음

 

2) 클래스(Class) ★★  20년 1, 2, 3회 필기

- 나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현한 것

- 공통된 속성과 연산(행위)를 갖는 객체의 집합

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

- 각각의 객체들이 갖는 속성과 연산(Method)을 정의하고 있는 틀

- 슈퍼 클래스(Super Class)는 특정 클래스의 상위(부모) 클래스

- 서브 클래스(Sub Class)는 특정 클래스의 하위(자식) 클래스

 

3) 인스턴스(Instance)

- 클래스에 속한 각각의 객체

- 클래스로부터 새로운 객체를 생성하는 것을 인스턴스화(Instantiation)라고 함

 

4) 메서드(Method)

- 클래스로부터 생성된 객체를 사용하는 방법

- 전통적 시스템의 함수(Function) / 프로시저(Procedure)에 해당하는 연산

- 객체가 메시지를 받아 실행해야 할 객체의 구제적 연산 정의

 

5) 메시지(Message)

- 객체간의 상호작용 수단으로 객체에게 어떤 행위를 하도록 지시하기 위한 방법

 

객체지향프로그래밍(Object-Oriented Programming,OOP) 특징

 

(1)캡슐화(encapsulation)  20년 2,3회 필기

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

- 인터페이스를 제외한 세부 내용이 은폐(정보 은닉)되어 외부 접근이 제한됨

- 정보 은닉 측면과 가장 밀접한 관계가 있음

- 외부 모듈의 변경으로 인한 파급 효과가 적음

- 재사용 용이, 인터페이스 단순해짐

- 결합도 Down / 응집도 Up

 

(2) 상속(Inheritance)

- 정의된 상위(부모) 클래스의 모든 속성과 연산을 하위(자식) 클래스가 물려받는 것( 다시 정의할 필요 없음)

- 소프트웨어의 재사용(Reuse)을 높이는 중요한 개념

 

(3) 다중 상속(Multiple Inheritance)

- 한 개의 클래스가 두 개 이상의 상위(부모) 클래스로부터 속성과 연산을 상속받는 것

 

(4) 다형성(Polymorphism)

- 하나의 메시지에 대해 각각의 객체(클래스)가 갖고 있는 고유한 방법(특성)으로 응답 수 있는 능력

ex) ‘+’ 연산자의 경우 숫자 클래스에서는 덧셈, 문자 클래스에서는 문자열의 연결 기능

 

(5) 추상화(Abstraction) 

  • 불필요한 부분 생략, 객체의 속성 중 가장 중요한 것만 중점 두어 개략화,모뎅화

객체지향 연관성: 두 개 이상의 엔티티 형에서 데이터를 상호 참조하는 관계

연관성(Relationship)

두 개 이상의 객체들이 상호참조하는 관계

  • is-member-of 연관화 링크 개념과 유사
  • is-instance-of 분류화 객체 및 클래스의 인스턴스를 표현
  • is-part-of/ part-whole집단화 상향식, 단일 상속, 복합 객체(composite object) 표현에 유용  20년 1, 2회
  • is-a 특수화, 일반화 하향식, 다중 상속, 복잡한 객체 표현에 유용
반응형