객체지향 모델링
객체지향 개념
- 객체는 대개 객체를 기술하는 데이터와 그 기술 데이터를 운영하는 메소드로 구성된다. 속성 유형과 메소드를 공유하는 객체가 그룹화되어서 객체 클래스로 된다.
- 객체 인스턴스는 객체 클래스의 어커런스이다. 예를 들어, 직원이 객체 클래스이면 '홍길동'은 클래스 직원의 객체 인스턴스이다.
- 객체는 속성과 메소드로 구성된다.
- 속성은 객체 클래스의 성질이다. 이름, 주문번호, 책제목 등은 속성의 예이다.
- 객체는 연관(Association) 또는 상속(Inheritance)을 통해 다른 객체들에 연결된다. 연관은 객체 간의 자연적 관계이다.
객체 모형
객체 모형 생성 방법
- 주제에 연관된 기본 객체를 식별한다. 그 결과는 엔티티 목록과 같은 것이다.
- 객체 간의 연관(Association)을 식별한다.
- 많이 알려져 있는 객체 모델링의 규약을 이용해서 객체의 다이어그램을 그린다.
- 객체 간의 메시지는 다이어그램에 추가될 수 있다.
객체 모형 데이터
- 대부분의 경우에 한 객체 안의 데이터는 구조를 가지지 않는다. 구조상 데이터가 개체-관계 다이어그램에 있다면, 다양한 엔티티 내에 있을 수 있는 것을 뜻한다.
- 데이터 구조가 없는 객체는 모든 객체의 속성이 개체-관계 다이어그램에서 하나의 엔티티 내에 있다는 것을 의미한다.
- 데이터 구조가 없을 때 객체의 데이터를 문서화하는 것은 객체의 정의와 도메인을 구체화시키는 것으로 제한된다.
- 객체의 데이터가 구조를 가진다면 그 구조는 개체-관계 다이어그램의 단편도 안에 모형화되어야 한다.
객체 모형의 메소드
- 객체 메소드가 복잡하지 않다면 메소드는 간단한 설명부 또는 구조화된 기법으로 가장 잘 문서화된다.
- 복잡한 메소드는 좀 더 정교한 문서화 접근 방식이 필요하다.
- 이벤트 지향적인 프로세스는 상태 전이 모델링과 같은 동적 프로세스 모델링 기법이 필요하다.
- 반대로 정적인 프로세스는 데이터 흐름 다이어그램이나 기능 분해와 같은 기법을 사용한다.
불명료한 객체 접근 방식
객체 접근 방식 주의 사항
- 객체지향 개발의 가장 단순화된 표현이다.
- 객체지향 모델링의 미성숙이다.
객체지향 모델링과 논리 데이터 모델링 간의 관계
- 객체지향 모델링은 논리 데이터 모델링의 개념과 매우 유사하다.
<객체지향 모델링과 논리 데이터 모델링 간의 비교>
객체지향 모델링 | 논리 데이터 모델링 | 차이점 |
객체 | 엔티티 | 객체는 프로세스를 포함한다. |
속성 | 속성 | - |
연결 (Link) |
관계 (Relationships) |
유사하다. - 연관은 동일하다. - 상속은 데이터 모델링이 메소드를 포함하지 않는다는 것만 제외한다면 서브타입/슈퍼타입과 동일하다. |
캡슐화 | - | 대응하는 논리적 데이터 모델링의 개념은 없다. |
객체 클래스 | 엔티티 유형 | 없음 |
객체 인스턴스 | 엔티티 인스턴스 | 없음 |
메시지 | - | 메시지는 프로세스와 연관되어 있기 때문에 대응하는 개념은 없다. |
* 논리적 기초가 잘 갖춰진 데이터 모델러는 일반 프로세스 모델러보다 객체지향 모델링 개념을 더 쉽게 소화한다.
객체지향 모델링 장점
- 재사용 코드와 같은 개념이 실제로 가능한 환경을 제공한다.
'DAP' 카테고리의 다른 글
[DAP 전문가 가이드] 4.1.3 데이터 모델링 표기법 이해(2) (0) | 2025.04.28 |
---|---|
[DAP 전문가 가이드] 4.1.3 데이터 모델링 표기법 이해(1) (0) | 2025.04.28 |
[DAP 전문가 가이드] 4.1.2 데이터 모델링 기법 이해(1) (0) | 2025.04.28 |
[DAP 전문가 가이드] 4.1.1 데이터 모델링 개요(2) (0) | 2025.04.28 |
[DAP 전문가 가이드] 4.1.1 데이터 모델링 개요(1) (0) | 2025.04.28 |