객체지향(Object-Oriented)

현실 세계의 개체를 하나의 객체로 만들어 기계 조립하듯 소프트웨어를 개발할 수 있게 한 기법

  • 구조적 기법의 문제점으로 인한 소프트웨어의 위기의 해결책으로 채택되어 사용
  • 소프트웨어 재사용 및 확장에 용이, 유지보수가 쉽다
  • 복잡한 구조를 단계적, 계층적으로 표현하고 멀티미디어 데이터 및 병렬 처리를 지원
  • 사용자와 개발자가 쉽게 이해
  • 객체, 클래스, 캡슐화, 상속, 다형성, 연관성

객체

데이터와 데이터를 처리하는 함수를 묶어놓은 하나의 소프트웨어 모듈

  • 독립적 식별 가능한 이름을 가짐
  • 객체가 가질 수 있는 조건을 상태라고 하는데, 일반적으로 상태는 시간에 따라 변한다
  • 객체와 객체는 상호 연관성에 의한 관계가 형성
  • 객체가 반응할 수 있는 메시지의 집합을 행위라고 한다
  • 일정한 기억장소를 가진다

클래스

공통된 속성과 연산을 갖는 객체의 집합, 일반적인 타입을 의미

  • 객체들이 가지는 속성과 연산을 정의하는 틀
  • 객체지향에서 데이터를 추상화하는 단위
  • 클래스에 속한 각각의 객체를 인스턴스 라며, 클래스로부터 새로운 객체를 생성하는 것을 인스턴스화라고 한다
  • 동일 클래스에 객체는 공통된 속성과 행위를 가지지만 속성에 대한 저오가 달라 여러 객체를 나타내게 된다
  • 슈퍼 클래스는 특정클래스의 부모고, 서브 클래스는 특정 클래스의 자식이다

캡슐화

속성과 함수를 하나로 묶는 것

  • 캡슐화된 객체는 인터페이스를 제외한 세부 내용이 은폐되어 외부에서 접근이 제한적이라 외부 모듈의 변경으로 인한 파급 효과가 적다
  • 재사용이 용이
  • 인터페이스가 단순해지고, 객체 간의 결합도가 낮아진다

상속

이미 정의된 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는것

  • 소프트웨어의 재사용을 높이는 중요한 개념
  • 다중 상속 : 한 개의 클래스가 두 개 이상의 상위 클래스로부터 속성과 연산을 상속 받는 것

다형성

메시지에 의해 객체가 연산을 수행하게 될 때 하나의 메시지에 대해 각각 객체가 가지고 있는 고유한 벙법으로 응답할 수 있는 능력

  • 객체들은 동일한 메소드명을 사용하며 같은 의미의 응답을 한다
  • 응용 프로그램 상에서 하나의 함수나 연산자가 두 개 이상의 서로 다른 클래스의 인스턴스들을 같은 클래스에 속한 인스턴스처럼 수행할 수 있도록 하는 것이다

연관성

is member of ; 연관화 ; 2개 이상의 객체가 상호 관련되어 있음

is instance of ; 분류화 ; 동일한 형의 특성을 갖는 객체들을 모아 구성하는 것

is part of ; 집단화 ; 관련있는 객체들을 묶어 하나의 상위 객체를 구성하는 것

is a ; 일반화 ; 공통적인 성질들로 추상화한 상위 객체를 구성한ㄴ 것

is a ; 특수화/ 상세화 ; 상위 객체를 구체화하여 하위 객체를 구성하는 것 

 

2021 시나공 정보처리기사 필기 도서를 학습하고 정리하였습니다

반응형

'study > 정보처리기사' 카테고리의 다른 글

객체지향 분석 및 설계  (0) 2022.04.23
아키텍처 패턴  (0) 2022.04.22
소프트웨어 아키텍처  (0) 2022.04.22
사용자 인터페이스(User Interface)  (0) 2022.04.22
UML(Unified Modeling Language)  (0) 2022.04.19

+ Recent posts