CS

[CS / TOPCIT] 객체지향설계

따봉치치 2023. 5. 4. 13:56
728x90

객체 지향

주어진 문제영역을 실세계 안에 존재하는 객체의 집합으로 보고 객체들 사이의 상호작용을 나타낸 것

 

모델링

대상 시스템의 성능 또는 동작과정 분석을 위하여 이를 간단히 도식화하거나 그 시스템의 특징을 수학적으로 표현하는 과정

  • 유스케이스
  • 정보 모델링(정적 모델링) : 시스템에 사용되는 데이터베이스의 구조를 알아내어 데이터를 기술 (클래스 다이어그램)
  • 동적 모델링 : 시스템을 구성하는 객체의 상태나 동작의 변화 혹은 객체들 사이의 상호 작용에 관심을 두고 클래스들의 오퍼레이션을 찾는 과정 (액티비티 다이어그램)
  • 기능 모델링

객체 지향 설계

1. 객체와 클래스

객체는 독립적으로 존재하는 실세계의 사물, 클래스는 유사한 객체들의 모임으로 각 객체는 특정 속성의 모임에 의해 기술됨. 객체를 묶는 작업을 분류화라고 함

 

2. 캡슐화

정보 은닉을 통한 추상화, 독립성 향상을 얻을 수 있는 방법, 속성과 오퍼레이션을 함께 묶어 보호함. 모듈의 기능적 독립성은 단위 모듈의 처리 완전성을 높이고 타 모듈과의 처리 종속성을 최소화할 때 극대화됨

 

3. 상속

클래스의 정의를 단순화, 기존에 정의되어 있는 클래스를 이용하여 새로운 클래스를 쉽게 정의할 수 있도록 함

 

4. 다형성

동일한 이름의 오퍼레이션이라도 클래스에 따라 다르게 동작하는 것, 상위 클래스를 통하여 하위 클래스의 메소드를 호출할 수 있도록 하는 개념. 오버라이딩과 오버로딩이 있음

728x90