DAP
[DAP 전문가 가이드] 4.1.2 데이터 모델링 기법 이해(2)
2025. 4. 28. 14:00

 

 

객체지향 모델링

객체지향 개념

- 객체는 대개 객체를 기술하는 데이터와 그 기술 데이터를 운영하는 메소드로 구성된다. 속성 유형과 메소드를 공유하는 객체가 그룹화되어서 객체 클래스로 된다.

- 객체 인스턴스는 객체 클래스의 어커런스이다. 예를 들어, 직원이 객체 클래스이면 '홍길동'은 클래스 직원의 객체 인스턴스이다.

- 객체는 속성과 메소드로 구성된다.

- 속성은 객체 클래스의 성질이다. 이름, 주문번호, 책제목 등은 속성의 예이다.

- 객체는 연관(Association) 또는 상속(Inheritance)을 통해 다른 객체들에 연결된다. 연관은 객체 간의 자연적 관계이다.

 

객체 모형

객체 모형 생성 방법

  • 주제에 연관된 기본 객체를 식별한다. 그 결과는 엔티티 목록과 같은 것이다.
  • 객체 간의 연관(Association)을 식별한다.
  • 많이 알려져 있는 객체 모델링의 규약을 이용해서 객체의 다이어그램을 그린다.
  • 객체 간의 메시지는 다이어그램에 추가될 수 있다.

 

객체 모형 데이터

 

- 대부분의 경우에 한 객체 안의 데이터는 구조를 가지지 않는다. 구조상 데이터가 개체-관계 다이어그램에 있다면, 다양한 엔티티 내에 있을 수 있는 것을 뜻한다.

- 데이터 구조가 없는 객체는 모든 객체의 속성이 개체-관계 다이어그램에서 하나의 엔티티 내에 있다는 것을 의미한다.

- 데이터 구조가 없을 때 객체의 데이터를 문서화하는 것은 객체의 정의와 도메인을 구체화시키는 것으로 제한된다.

- 객체의 데이터가 구조를 가진다면 그 구조는 개체-관계 다이어그램의 단편도 안에 모형화되어야 한다.

 

 

객체 모형의 메소드

- 객체 메소드가 복잡하지 않다면 메소드는 간단한 설명부 또는 구조화된 기법으로 가장 잘 문서화된다.

- 복잡한 메소드는 좀 더 정교한 문서화 접근 방식이 필요하다.

- 이벤트 지향적인 프로세스는 상태 전이 모델링과 같은 동적 프로세스 모델링 기법이 필요하다.

- 반대로 정적인 프로세스는 데이터 흐름 다이어그램이나 기능 분해와 같은 기법을 사용한다.

 

 

불명료한 객체 접근 방식

객체 접근 방식 주의 사항

  • 객체지향 개발의 가장 단순화된 표현이다.
  • 객체지향 모델링의 미성숙이다.

 

객체지향 모델링과 논리 데이터 모델링 간의 관계

- 객체지향 모델링은 논리 데이터 모델링의 개념과 매우 유사하다.

 

<객체지향 모델링과 논리 데이터 모델링 간의 비교>

 

객체지향 모델링 논리 데이터 모델링 차이점
객체 엔티티 객체는 프로세스를 포함한다.
속성 속성 -
연결
(Link)
관계
(Relationships)
유사하다.
- 연관은 동일하다.
- 상속은 데이터 모델링이 메소드를 포함하지 않는다는 것만 제외한다면 서브타입/슈퍼타입과 동일하다.
캡슐화 - 대응하는 논리적 데이터 모델링의 개념은 없다.
객체 클래스 엔티티 유형 없음
객체 인스턴스 엔티티 인스턴스 없음
메시지 - 메시지는 프로세스와 연관되어 있기 때문에 대응하는 개념은 없다.

 

* 논리적 기초가 잘 갖춰진 데이터 모델러는 일반 프로세스 모델러보다 객체지향 모델링 개념을 더 쉽게 소화한다.

 

객체지향 모델링 장점

  • 재사용 코드와 같은 개념이 실제로 가능한 환경을 제공한다.